Add ability to use Save As... for entire score while in a part.

• Aug 7, 2020 - 01:09
Reported version
3.5
Type
Ergonomical (UX)
Frequency
Few
Severity
S5 - Suggestion
Reproducibility
Always
Status
active
Regression
No
Workaround
Yes
Project

File -> Save As has always meant, in just about every program in existence that supports files, "Save the current file as a different file ".

The behavior in MuseScore appears to be context sensitive to whether the Score is the currently selected part.

  • If the currently selected part is the score, then the behavior is the same as every other program in existence.

  • If the currently selected part is a part, then it functions as: "Save the currently viewed part as another file".

In general, actions underneath the File menu typically pertain to the entire file and are not context-sensitive on any kind of selection made.

I am involved in a project where I share lots of MSCZ files with my peers, and it happens quite often that someone accidentally saves out a Part rather than a Score. Based on the discussion here https://musescore.org/en/node/299764, I'm sure that many have made similar mistakes.

The desired behavior for Save As is: "Save the current file as a different file".


Comments

Frequency Many Once
Status active by design

I'm going to call this by design. The reason is that this is the only way to save a single part to its own file. If you export parts, you have no option of exporting only the current part to any type of file, it's all or none.

If you still want to suggest a change to this, then feel free to change the severity to S5 but include an alternate plan to allow saving a single part rather than all of the parts.

Also, frequency is how often the issue has been reported and you're the first I'm aware of. Reproducibility is properly Always since it does it every time you Save as from a part.

In reply to by mike320

Would it be possible to rename that menu item as "Export Part into File" or "Save Part As File" or something similar, so that it is clear this command is operating only on the part even though it's in the "File" menu? And to create a "Save As" without the context-dependency so that it does, as Jer Roque pointed out, what it does in just about every other program in existence since files became a thing?

(Also, the "Export" and "Export Parts" commands in the File menu do allow you to save parts as .mcsz files, although admittedly Export Parts exports every part, not only the single one. But that still does not change the point that the user shouldn't be expected to see "Save As" and read it as "Export only this part as a Musescore file," which they won't, unless this is the first [music notation/text/image/engineering design/anything really] editor they have ever used. Even just renaming it "Save Part As" would solve the problem.)

In a graphics program, I expect "save as" to save my project, not just the layer I'm currently editing. In a DAW, I expect "save as" to save my project, not just the track I'm editing. In a document editor, I expect "save as" to save my document, not just the page I'm on. The convention for "save as" meaning "the same thing as 'save,' but to a different file" is well-established in existing software.

I find MuseScore's choice to disregard this convention extremely confusing, particularly when there are already "Export" options in the same menu that offer part extraction. It's quite easy to mistakenly destroy work by saving - as a curator of a large collection of files I've had to write a script to detect accidental part saving so I can roll back. This is not the first report of lost work due to this behavior - (https://musescore.org/en/node/173086).

The ability to extract one part is absolutely useful, but a nonobvious modal behavior of "save as" is a confusing way to implement it. Please consider adding clarity here.

Title "Save As" from Part only saves Part, not Score. Add ability to use Save As... for entire score while in a part.
Frequency Once Many
Severity S3 - Major S5 - Suggestion
Status by design active
Type Ergonomical (UX) Graphical (UI)
Reported version 3.4 3.5

OK, I'll make this a suggestion based upon the feedback so far.

Save as... normally allow the user to save an entire project under a new name no matter where they are in the project. Currently, Save as... only saves the selected part if the user is in a part. There needs to be a way to allow the user to save the current part and set the function of Save as... to what the user expects. Perhaps we could add a Save current part... or Export current part... option to the file menu that would be active only when in a part and the Save as... option would always save the entire score. The Save/Export current part... would function as Save as... currently does from the part.

An alternative to Save/Export part would be to add an option to Export Parts that says to export the current part only.

Here is a suggestion that I think will address all concerns. I've attached a mock as well as similar functionality from Sibelius.

1) Have "Save As" perform the same function as "Export", however also add "MSCZ" to the list.
2) Have "Export" display the attached mockup "Export Mockup.png".
3) Remove "Export Parts" as it will be covered by the redesigned "Export" from #2.

In the mock, which is inspired by REAPER's "Render to File" option (takes a DAW and allows exporting in lots of different configurations...), the following options are interactive:

1) Directory, which can be typed in or selected via "Browse"
2) File name, which is the name of the exact desired file name, no path provided. Wildcards can be added to allow the user to dynamically generate the filename. $PART would be a desirable one, and other wildcards can come from the values in File -> Score Properties. All possible wildcards can be displayed from the Wildcard button.
3) Type, which includes all the possible file types.
4) The INCLUDE section displays all the parts with checkboxes by them, and allows the user to select what they want to export, with the first part always being "Score". The buttons "All" / "Score only" / "Parts only" / "None" are buttons that automatically click all the checkboxes, only the score, only the parts, or clear all selections, respectively.
5) OK and Cancel perform as expected.

Sample use case: A user has a string quartet score, "Canon in D.mscz" with four parts: Violin I, Violin II, Viola, Cello. A user wants PDFs of only the parts to distribute to the players, and does not need the Score part. The fields would be filled as follows:

1) Directory - Desktop (because who doesn't save things to the Desktop when they want to attach them to email to send to people?)
2) File name - Canon in D - $PART
3) Type: PDF
4) INCLUDE: User clicks "Parts only", which selects Violin I, Violin II, Viola, and Cello. Score is left unchecked.

Then, the user clicks OK. This generates the following files:
- Desktop\Canon in D - Violin I.PDF
- Desktop\Canon in D - Violin II.PDF
- Desktop\Canon in D - Viola.PDF
- Desktop\Canon in D - Cello.PDF

The user then happily drags all those files into some email message, and is happy to have a String Quartet play at an upcoming wedding, or something.

I think an interface like this, all consolidated and displaying all the options right there, communicates a lot more than the three separation menu options "Save As", "Export", and "Export Parts".

Attachment Size
Export Mockup.png 28.85 KB
Sibelius Export.png 362.05 KB

What you give as an example is what we already get. Using Export parts, you can export them in any format supported by MuseScore including mscz & mscx. The problem is you must export all parts. The request is to be able to export a single part without using Save as... so Save as... does the expected job of allowing you to save the entire score in a different file.

My suggestion is a rather easy fix. Just add a new option and reroute some options while in a part. This makes it likely for a 3.x release. A total redesign of Export parts in 4.0 would be welcomed to give flexibility to the user to decide which parts to export and to which format no matter where you are in the program.