Disable save prompt for all imported files opened without changes (and improve other pop-ups to make the situation clearer)

• Jun 18, 2020 - 09:23
Type
Functional
Frequency
Few
Severity
S5 - Suggestion
Status
active
Regression
No
Workaround
No
Project

Closing a 2.x file opened in 3.x/4.x-dev without changes also triggers a save prompt. I would rather not have that, since if the user intends to upgrade the old file to the new format, they probably will have intentionally saved it already before closing.


Comments

Opening 'old' files is considered an import, same as opening xml or midi files, hence the score 'in memory' gets marked dirty and as such needs to get saved.
So this is be design and should stay that way.
At best we could add an option, a preferences setting, for not doing this

In reply to by Jojo-Schmitz

It is considered an import and marked dirty internally, but from the users' perspective it isn't obvious. Asking me to save the file even if I didn't do anything isn't helpful in most cases, and can probably lead to confusion for users who don't know the differences between 1.x, 2.x and 3.x formats (why must I save the file again?).

In reply to by Jojo-Schmitz

That's true, but still, what's the meaning of reminding me to save, even if I just got curious, loaded an old score, took a peak, did nothing then attempted to leave? If your purpose is to upgrade a file, you'd definitely have saved manually before the reminder pops up.

In reply to by Howard-C

I think we miss an option in the dialog box we get when we open the file.
Currently only question is: 'reset position yes/no' which implies in both case a V3 import & relayout.
So there I agree with Jojo: there has been an import action and a save yes/no prompt at close time makes sense.
So actually the dialog box we get at open time should be refined and become a 3 options choice:
1-view file
2-import & no reset
3-import & reset
There would be no difference in what the user sees on screen between option 1 & 2, as V3 is unable to replicate exact V2 layout anyway, the difference would be that after choice 1 file will not be considered dirty, while after choice 2 file is considered dirty.

To me eliminating the message for imported files would be a mistake, it would give people the incorrect impression that their score needs no further action and is fully a MuseScore 3 score. I think it would greatly increase confusion, and that's the last thing we should want to do.

Title Disable save prompt for old files opened without changes Add view-only option for old scores so that save prompt is disabled when closing or quitting

I agree with @frfancha here.

Let's look at it from the user's point of view:

The user starts MuseScore 3.5.0 and opens a “Compressed MuseScore File”. The file happens to be in 2.x format, but the user doesn't know that. The user doesn't know or care that different file formats exist.

MuseScore opens the file, internally processing it as an “import”. The user doesn't know this, and shouldn't need to. The user has previously disabled the “Reset positions…?” prompt as it was confusing and annoying, so no such prompt appears. The score is opened and the users starts flipping through it. It looks a little off in some places, but hey, this score is pretty old and maybe MuseScore has been updated in the meantime to lay things out a little differently. A lot of apps do that (the user has a lot of experience fixing up old Microsoft Word documents), so this is nothing out of the ordinary for the user.

The user shrugs and closes the file. MuseScore prompts the user to save the file. “What?!” the user thinks. “I haven't made any changes, so there's nothing to save.” The user clicks No and wonders what in the world that was all about. “Stupid free software, always full of stupid bugs. Mumble grumble.”

What's the problem here? From a UX standpoint, this workflow is broken because the document is being considered dirty even though the user has taken no action to make it so.

What's the solution? Another prompt? Another option added to an existing prompt? No and no. The solution is to act according to the user's completely reasonable expectations and refrain from marking the score dirty if the user hasn't taken explicit action in the current session to make it so.

This means:

  1. If a 2.x score is opened, and the “Reset positions?” prompt hasn't been disabled, and the user clicks Yes, mark the score as dirty. Put the “reset positions” operation on the undo stack so that it can be undone by the user. When the file is closed, prompt the user to save changes (if the user hasn't undone the “reset position” operation).

  2. If a 2.x score is opened, and the “Reset positions?” prompt hasn't been disabled, and the user clicks No, do not mark the score as dirty. Do not put anything on the undo stack. When the file is closed, do not prompt the user to save changes.

  3. If a 2.x score is opened, and the “Reset positions?” prompt has been disabled, do not mark the score as dirty regardless of whether the user had selected Yes or No as the default “Reset positions?” option. Do not put anything on the undo stack, even when silently executing the “reset positions” command. When the file is closed, do not prompt the user to save changes.

An aside: There is a separate issue here that has caused real pain for users: Users are not informed when they are overwriting a 2.x-format file with the current version. This situation should be detected at save time and the user should be presented with a warning before the file is irreversibly converted to the new format. But again, this is a separate issue that should be dealt with separately.

The user gets told that it is an import and even from which version, so no surprise there. Saving would create a new file, forcefully selecting the old filename does generate a warning that needs to get ignored to really "destroy" the old version

I agree with the idea of having a view-only option in the initial import dialog; that would address the issue. Without that, though, I continue to disagree with the idea of adding to the confusion by silently allowing users to close scores that have not been saved in MuseScore 3 format. There is enough confusion about the difference in formats, I cannot imagine why we would consider taking action that would increase it. This to me is looking at it from the user's point of view - the user who doesn't yet understand there is a difference and hence a reason to save. The user did take an action to make it dirty - he imported a file from an older version. He might not be aware of that difference, that is why it is crucial to inform him.

No, the user did not import a file; the user opened a file. The fact that MuseScore chose to process this as an import is an implementation detail and completely irrelevant to the user. The user has no reason to be bothered about this unless it has an actual consequence for the user; in the case where the user opens and immediately closes a file, there is no such consequence. This is a simple “view” workflow and the user doesn't need to be asked if it is; the application can unambiguously infer it.

If a user opens a file, does nothing, and then closes it, the user should never be prompted to save changes, as there aren't any changes to save. I've never seen any application do this except for MuseScore. It needs to be fixed, and not by pestering the user with yet another irrelevant choice to make.

It's not "just" an implementation detail, it's an important distinction. If one could save in MuseScore 3 format and open in MuseScore 2, then it would be irrelevant. But as it is it's a crucial distinction to understand - one should know which of ones files are in MuseScore 2 vs MuseScore 3 format. And as mentioned, there is plenty of confusion already, despite the information we provide. Eliminating some of this information that could be helping clarify is going to create more confusion.

If in the import dialog we offer the option of read-only, that's fine, then at least the user was informed. If he chooses eventually to never seen the dialog again, that's OK too. But the user needs to be fully informed. At the moment of the first import, he doesn't know enough yet. It's the close operation where we have the last opportunity to educate him.

It's the close operation where we have the last opportunity to educate him.

No, it's the save operation that's the last opportunity. Opening and immediately closing a file is a nondestructive workflow, so there's no need to nag or “educate” the user about anything at that point. It's only when re-saving a 2.x-format file in 3.x format that the user should be informed about what's about to happen.

The proposal being made here takes a broken workflow and makes it even more broken. I will not repeat myself anymore, but suffice it to say that I understand your argument but categorically and vehemently disagree with it.

I will saddle up the old hobby horse:

"there is plenty of confusion already, despite the information we provide". Much of that confusion could have been avoided if scores created with MuseScore3 had a different extension from that for previous versions. Then only MuseScore 3 scores would be associated with MuseScore 3 and MuseScore2 scores would have remained associated with MuseScore 2. The difference between the scores could have been made apparent with different icons. There would be no need to open a score (with all the potential questions and warnings) to find out which version of MuseScore had been used to create it. Opening MuseScore2 scores in MuseScore3 would have needed a more conscious decision on the part of the user and a different operation, open from the file dialogue in MuseScore3 or from a right click and "open with". This would have made it more obvious that MuseScore3 was actually importing a MuseScore2 file not just opening it.

The decision on MuseScore2/3 is already history, but there may be a similar decision on the horizon. Perhaps a different decision will be taken this time.

I will just say I do think the user is worth educating. I really want to try to reduce confusion here. Education is the key to that. Anything that provides more duration is good. Anything that provides less is bad. Hard to see how anyone could disagree with that, but I respect your right to do so.

As for whether or not to change the file format going forward, I understand the arguments in favor of it. To me it trades one set of headaches and confusion for another. I don't see why people see it as such a panacea, but I'm not opposed to it either.

In reply to by Spire42

Actually and as said several times already, on opening the score the user gets told about this!
And on close a last time.
And I categorically and vehemently disagree with you here...

Had we been using different file extension for MuseScore 1, 2 and 3, it would be crystal clear that there is an import going on. We didn't, but that doesn't change the fact that this is an import, it just needs to be made more clear. An additional "view only" option on open is one such way.

Yes, the viewer gets told soemthing is happening, but it still isn't clear to the user what. If it were clear, there would be no questions about this in the forum. Since there are such questions, it's clearly not clear. Providing less information won't help, I promise.

Actually and as said several times already, on opening the score the user gets told about this!

Only If the user hasn't suppressed this alert (perhaps unwittingly — it's well known that users don't read actually dialog boxes and will dismiss them to get them out of the way).

Oh wait, @Jojo-Schmitz , who were you vehemently disagreeing with? I thought me, but maybe I misread :-).

I actually don't have strong enough feelings about this to disagree with anyone vehemently. There are two separate problems here:

1) some people are confused about the whole 2/3/import/compatibility issues
2) some people understand everything they need to about that and are just annoyed by the constant reminders on close

I guess the proposal here is about 2), not 1). I'm just saying that if choose to do something about 2), we don't necessarily need to try to solve 1) also, but I don't want to see us make it worse.

So, what about if when the user goes to close an imported-but-otherwise-unmodified score, he gets a special version of the save prompt that a) includes a little more explanation, and b) including another of those "Don't ask me again" checkboxes? We'd want to make it clear that agreeing to this doesn't mean you'll never see this dialog again - certainly, it should show up if you really do make changes.

When reading the discussion, I incline to agree with @Spire42 . When the software decides to convert an input file, fine, I'll appreciate it. But when closing the file, I except to see the question whether to save to file or not only when I made a change. The file may contain a carefully layout score and I don't know whether the anything was changed by this conversion and I'm not always able to carefully check, I just want to have a quick look into the score.
Of course it would be helpful when there was an option to open the file read-only (but why for MuseScore2 files only?) but as long me as an user any change, intentionally or not.

As I said before, I can understand why those people who do understand what is going on would not need to see the dialog. But users encountering this for the first time (and they do still exist) will not. That is why I proposed what seems to me to be the most sensible solution; show the dialog with a "don't show again" checkbox. It's really a different decision the user is making compared to the decision about whether to reset positions or not, so it makes sense it would be controlled by a separate control.

I still think https://musescore.org/en/node/306911#comment-1007470 has the point. It's not good workflow to me, if it intends to educate users when closing a file or the app. Clarification should be done when users start the process of viewing old files. I agree that opening old files in a new version is important enough to show users extra words to help understanding, so why not do this in the pop-up on opening old files? 3 options are clear enough to make the situation understood. If I simply want to view the file, do not remind me to save the file because I clearly chose not to when opening it.

I would claim it's a sufficiently complex enough problem - that absolutely positively has two unrelated decisions to make (one about manual adjustments, another about file format) - that attempting to do it all in one dialog would be a huge mistake and would only increase what is already considerable confusion. I categorically oppose taking any steps that will increase user confusion.

In reply to by Marc Sabatella

Why are the two decisions unrelated? In order to do manual adjustments, you have to update file format. But if you don't want to, you can choose to import and save the file in a new format, or you can not do that either and only view the file. Three options. How will this lead to more confusion than we already have now?

They are unrelated becauser they have nothing to do with each other. The "reset positions" dialog has absolutely nothing whatsoever to do with the change in file format. It's just a matter of changes to the layout algorithm. That decision affects how your score will look when loaded into MuseScore 3 but this is entirely separate from the unrelated question of whether you also want to save your file in the new format. Similarly, the decision of whether you want to save your file in the new format has nothing whatsoever to do with any differences in layout algorithms - it's a file format issue exclusively.

So all of the following are possible and reasonable:

1) I want to load my older score into MuseScore 3 I want to reset positions. I choose to save the results in the new format.
2) I want to load my older score into MuseScore 3 and I don't want to reset positions. I choose to save the results in the new format.
3) I want to load my older score into MuseScore 3 I want to reset positions. I choose not to save the results in the new format.
4) I want to load my older score into MuseScore 3 and I don't want to reset positions. I choose not to save the results in the new format.

The only possible time to make the decision about resetting is on load. But there is no reason a user should also be forced to make a decision on saving at that time. He very possibly doesn't have the information he would need to make an informed decision, and his brain is already overloaded with the unrelated question about layout. Asking him to make a decision about saving at that moment is confusing, as it gives the entirely erroneous impression that the two unrelated decisions somehow have something to do with each other when they most definitely do not.

So, only after the user has made the initial layout decision, then worked with the score in whatever way he sees fit - maybe he is just playing it back, maybe he is printing, maybe he is assessing whether or not it makes sense to save in MuseScore 3 format as is or whether it will take work first, who knows, certainly not us - only when he is done doing whatever it is he was doing is he in any position to think about the separate question of whether to save in the new format or not.

Taking that decision point away form him and forcing him to think about it while on import he is still overwhelmed with the unrelated layout decision is confusing, how could it possibly be otherwise? Less information presented at less timely moments = more confusion. i can't believe anyone would seriously be trying to claim that presenting less information, and withholding it at the crucial moment when the user actually needs it - would do anything but increase confusion.

So, only after the user has made the initial layout decision, then worked with the score in whatever way he sees fit - maybe he is just playing it back, maybe he is printing, maybe he is assessing whether or not it makes sense to save in MuseScore 3 format as is..

This is exactly my point, if a user decides to save the file he uses Save or one of the other save options. But when he is done and closes the file he might forgot about the question and is suddenly confronted with a question Save changes to the score..... What changes, I didn't do anything!! When the choice is made to not reset the positions this message pop up it's even more confusing, there wasn't even any indication of any change (the * after the file name.

For me as a user the behavior is random, when I just want to listen to a number of scores, sometimes a message pops up, asking to save the changes I didn't make, sometimes it doesn't. It is not predictable, I don't know it is because the different file format, I can't even see.
Blame my background, but when I close a file with making any changes, close the file, just do what is told :-). If the software needs to do some strange things for some files, fine, but don't bother me with that.

Whether you reset or not has got nothing to do with whether you can fall back to MuseScore 2. Whether you save it with MuseScore 3 has. Esp. If you overwrite the 2.x score file.

? MuseScore 3 can't save in MuseScore 2 format. You can, however, overwrite the MuseScore 2 file with the MuseScore 3 one, (you get an extra warning if you try though). Then the MuseScore 2 version is lost forever

If you open a MuseScore 2 file in MuseScore 3 this is an import.
Whether you reset positions or not, if you save the score, it is a MuseScore 3 file. (and if you save over the MuseScore 2 one, there's no way back anymore, that is why we emmit an extra warning in that case)
Resetting or not is not related at all to converting to MuseSore 3.

A 'View' mode too would be unrelated to reset or not, you still may want both options, and neither would result in the score looking the same in MuseScore 3 as it did in MuseScore 2

In reply to by Jojo-Schmitz

I still don't understand. If you choose to reset positions, then the up-to-date file that you'll use in the future changes into a 3.x file permanently, because you cannot open the old 2.x file and still see the positions reset. But if you don't do anything to the 2.x file, next time you can still open up the 2.x file and start from it. You don't have to save the file to 3.x format just because you opened it in MuseScore 3 in this situation.

I think I'll explain again what @frfancha proposed:
> 1-view file
Do nothing, no save prompt later to save as 3.x file. Although you selected this mode, you can still change things manually. If you do this, the save prompt will happen.
> 2-import & no reset
Do nothing, but has save prompt later to save as 3.x file. You may want to change things manually, but whether or not you do this, the save prompt will happen.
> 3-import & reset
Reset positions, and has save prompt later to save as 3.x file. You may want to change things manually, but whether or not you do this, the save prompt will happen.

I really really don't understand what makes you confused.

I'm not confused at all. Whether you reset or not is not related to whether the score changes to MuseScore 3 format on save.
If you , with a new 'View' option, save a score (regardless not being asked on close if you don't), it'd be a MuseScore 3 score.
In any case you can still open the old score with MuseScore 2. And the new score with MuseScore 3 (or later) only.

Only if you (for some very stupid reason) explicitly decide to overwrite the MuseScore 2 file (and override the warning you're getting), you won't be able to open it with MuseScore 3 anymore.

It seems to be the discussion is biased by the knowledge we know what internally is happening but forgetting the "normal" user.
A normal user has no knowledge about the difference between opening a MuseScore3 file or importing a MuseScore2 file. Okay, in his perspective, every now and then he gets a message resetting position is recommended. Fine, if you want so, be my guest.
But as long he doesn't change the score, just looking, play back, copy a part to past it in another score, there shouldn't be any question whether to save the score or not.

The workflow will be

1) Open a score, and if the score is in an old format, convert it, with a question whether it allowed to take advantage of the new features.

2) User is doing something.

3) If the user closes the score and he has changed something, ask whether the changes must be save or not.

This is a simple and consistent workflow and doesn't need any education of any user.

A normal user has no knowledge about the difference between opening a MuseScore3 file or importing a MuseScore2 file
That's why the dialog explicity says so, even mentioning the version the score got last saved with. Not every now and then, but every single time. (until (s)he used the new 3.5 option of 'don't show this dialog again')

Your proposed workflow then would need to be the same for midi, musicxml, guitarPro, etc., all imports. Else it'd be highly inconsistent

Since a user can't see whether is opening a MuseScore 2 or 3 file, it is a kind of random behavior. In my experience, the pop up messages are read once (if you are lucky ;-)), next time just "clicked away".

But I agree, the workflow should be the same for all files opened with the Open command. And as a matter of fact, if I use MuseScore to listen to a midi file, it always surprises me why I just can't simply close the file, I didn't change the file at all.

In reply to by SteveBlower

But the main question is still: If a user just opened the file (whether is mscz in any version, a midi, xml, ... file) and did nothing, should there be a pop up on close, asking the user to save "the changes"? He didn't make any changes.
And if the message should pop up, why not for all files?

If I open a .csv file in e.g. LibreOffice, the file is converted to a spreadsheet but I can close the file with any question, as long I didn't make any changes. This is the behavior which seems the most logic to me and what I saw in all applications I used to work with. It always surprises me why MuseScore choose the have a different approach.

So this entire issue iin the end is not at all about adding a view only option for downrev score files, but about not asking for saving a file on any otherwise unchanged imported file

Question is though whether taking the "reset positions" should count as having modified it or not

In reply to by Spire42

Spire42:
"If a user opens a file, does nothing, and then closes it, the user should never be prompted to save changes, as there aren't any changes to save. I've never seen any application do this except for MuseScore. It needs to be fixed, and not by pestering the user with yet another irrelevant choice to make."

+1 Completely agree.

"reset positions" should count as having modified?
As this is not a command, explicitly issued by the user, I answer is: no.

Unlike not saving user changes, this can be execute again, without any problems, without loss of any data. For me, the question has effect on how I will see the score, as it was or using the new layout features.

how I will see the score, as it was
You won't. The reson of offering the "reset positions" is that more often than not those don't make any sense anymore and look different than in 2.x

In that case one you argue why not always reset the positions.
But nevertheless, it is not a user initiated change and therefor should not count as a change when closing the file. Not saving doesn't cause any data loss, the same action can be re-executed without any problem after opening the file again.

Title Add view-only option for old scores so that save prompt is disabled when closing or quitting Disable save prompt for old files opened without changes (and improve other pop-ups to make the situation clearer)

In reply to by njvdberg

Title Disable save prompt for old files opened without changes (and improve other pop-ups to make the situation clearer) Add view-only option for old scores so that save prompt is disabled when closing or quitting

Choosing to reset vs. choosing not to reset makes a difference to the layout. Neither is necessarily better, it depends on the score, so it is good to have both options.

I agree that this should NOT count as a change. If I want to move the score to MS3 format then I will almost certainly need to make layout changes and the save option would then be correct.

Title Add view-only option for old scores so that save prompt is disabled when closing or quitting Disable save prompt for old files opened without changes (and improve other pop-ups to make the situation clearer)
Title Disable save prompt for old files opened without changes (and improve other pop-ups to make the situation clearer) Disable save prompt for all imported files opened without changes (and improve other pop-ups to make the situation clearer)

Missed a lot yesterday, I won't repeat myself too much because nothing I've said is in any way invalidated by anything anyone else has written, I still stand by it 100%. I'll just clarify a few things:

Once more, if you import a file into MuseScore 3, you are under no obligation to save it. The mere act of choosing the reset - or not choosing the reset for that matter - does not convert the file into a MuseScore 3 file. Only saving it does that. They are 100% independent decisions: do I want to reset on this particular import from 2.,x, and do I want to save this imported file.

So to me the question is not about the reset at all, it's just a question that applies to all imports: do we warn user when closing an imported file that had no changes made after import?'

If this were only about import from MusicXML or MIDI or whatever, I might be inclined to say, sure, skip the dialog. Although I'd also be OK with it. I wouldn't really have strong feelings because there would be no confusion. But it's the fact that there is already confusion about MuseScore 2 vs 3 formats that puts me squarely in the "please warn people, at least once in their lives" camp.

So to me this is a no-brainer. We have a checkbox to not show the reset dialog again. Do the same for the unmodified-imported-file-not-saved dialog on close and everyone wins. It should satisfy those of us (including me) who are trying to stand up for the new user who is confused by all this and make sure they aren't deprived of useful information. It should satisfy those of us (including me) who do understand what is going on and would just as soon not see the dialog for ourselves any more. What possible objective could anyone have to this?

do I want to reset on this particular import from 2.,x, and do I want to save this imported file.
For me, the last part is the problem, a user doesn't see any difference between an imported and an opened file, he uses the same Open command for it. If there was a dedicated Import command, I'm with you. But now it looks like a kind of "all opens are equal but some are more equal".
It seems to me the issue boils back to the question, is it for a user important to know the difference between import and open.

I would agree there are reasons to second-guess the decision made long ago to put all file formats in the same Open menu. But again, if it were only about MusicXML and MIDI, I wouldn't worry about it. I'm really only concerned with the MuseScore 2 case, and making sure we don't deprive users of the sort of information is designed to help them understand there is a difference in formats here. So even if we moved MusicXML and MIDI to a new File / Import command, we'd be having the same same discussion regarding MuseScore 2 files, and it would still have nothing to do with resetting positions for layout and everything to do with the question of two different file formats.

So once more, I'm fine with catering to users who understand what is going on, by giving them a checkbox so they don't need to continue be reminded that MuseScore 2 & 3 have different formats and that there could therefore be a reason to save in MsueScore 3 format but also a reason not to and thus a choice to be made. All I ask is that, at least one point in their entire lives, new users be afforded the courtesy of being informed about this. Doesn't have to be over and over and over like it is now. But please, at least once let's try to explain to them in hopes of avoiding future confusion.

My own two cents:

I think (after conversion to positions has occurred) throwing a popup asking you to save is likely to be frustrating if all you want to do is close it. I'd just allow them to close it and the repositioning is forgotten.

I also think that if the user opts to save, (or makes a change and then tries to close it, which prompts a 'save' dialog), we should just save as MS3 and not bother them.

Also, we really have to reword that text from "don't ask again" to "Remember my choice and don't ask again"

Lastly, the wording of the prompt is very lengthy and I don't think it needs to include the full name of the file:

I'd propose something like:
"This score was created in MuseScore 2.x. Would you like to update it to MuseScore 3.x to take advantage of our improved automatic positioning (recommended)?"

[No] [Update score]

Changing that "don't ask again" string is a good idea.

You can convert to 3.x with and without resetting positions.
Updating also needs to consider to not overwrite the 2.x version, bus save it in a different location, as otherwise you can't open it with MuseScore 2.x anymore.
None of this does related to the problem at hand here, which is whether to ask for save on close on any imported scores (and 1.x and 2.x scores count as imports here)

@Tantacrul please read my comments carefully. The issue has absolutely nothing to do with the reset. It’s about the change in file format. The two have nothing to do with each other. There is enormous confusion about this on the forums. Please please please please please let’s not make it worse by removing the one bit of information we provide the user about this.

I agree the dialog can be improved. I'd love to see it improved, I like less confusion, not more. But as it is, the mere presence of the dialog is an alert that this MSCZ file they opened is somehow different from others, and maybe there is a reason to save it despite not having made changes. I'd love to see the dialog explain the reasons to do or not do so in more detail, and I'd love to see a "remember my choice and don't ask again" option,. But again, at least once in their entire life, the user should be made aware that some MSCZ files are not like others and perhaps there is appropriate action to take regarding saving (which is completely unrelated to the decision made earlier about layout).

I will continue to stand up for the user against anyone who advocates taking steps that will result in them being less informed and more confused. If that means we go in circles, so be it.

In reply to by Marc Sabatella

I totally agree that the dialogue is useful and should be kept, (and the current wording seems pretty clear to me). I'm just in the camp that doesn't want to see the score marked as dirty after the import.

I didn't mean to offend with "going round in circles", I just meant that all the arguments seem to have been raised. So I think that it's really up to the developers now to agree on their preference and go with it.

If you agree the dialog - meaning the dialog warning you that you are closing an imported MuseScore 2 score - is useful and should be kept, you cannot simultaneously say the score shouldn't be marked dirty. Not marking it dirty mean is the dialog never appears.

If you are referring to the completely and totally unrelated dialog about resetting positions, this is exactly why it is crucial to continue to provide information, to hopefully in some small way do our part to dissuade people from thinking these two things have anything to do with each other when they absolutely positively without doubt do not.

In reply to by Marc Sabatella

No, I mean the opening dialogue is essential to remind me that I'm opening a v2 file and asking how I want to treat it. After making my choice and getting the adjusted v3 layout I would like the score flagged as NOT dirty so that if I simply play it then choose close there is no save prompt.

(See title of this thread and OP's initial post.)

In reply to by yonah_ag

Here's a radical idea:

Why not incorporate the MS2.3.2 rendering engine into 3.6 (sic), and set MS2 scores as read only when they are opened? If the user wants to make changes you then offer a dialogue to upgrade to v3 and save as a new file.

This way everyone's back catalogue of MS2 scores works seamlessly with MS3 with no need for a dual installation. I know that the program would increase in size but I reckon it would still be smaller than some of the SF2 files used with MS.

Once again, the question of layout has NOTHING to do with the file format issue. Of course, it's completely out of the question to re-implement the MuseScore 2 layout engine, but even if it were to be considered 0 if yo=we wanted to delay MuseScore 4 by a year or so while we did this - it would still in no way whatsoever even begin to touch the entirely separate question of the difference in file formats. I don't know how I can possibly make that statement any clearer. The reason for the layout changes is entirely unrelated to the reason for the file format change. Even if it were possible to get a MuseScore 2 file to lay out identically in MuseScore 3, you would still face the separate decision of whether or not to save in MuseScore 3 format, and if so, in what folder and under what name.

1) The format issues occurs because MS2 format is different to MS3
2) This is managed by the response to the reset dialogue which may change the layout
4) Changing the layout sets the "dirty" flag and triggers a save query on closing

The layout is ONLY being changed because of the format change so there is at least a user-perceived relationship.

Why is it "out of the question" to re-implement the MS2 rendering engine? Surely the code already exists and it could be contained in its own .dll file, (under Windows), and only loaded when an MS2 file is opened. Microsoft do something similar with the Excel .xls and .xlsx formats. In fact Excel can edit and save in both formats, although it will warn the user if anything will be lost by downgrading an xlsx file to xlx. This gives you a heads-up on how to handle the save problem although you don't have different extensions to play with.

The layout is ONLY being changed because of the format change….

No, the layout is being changed because of improvements to the layout engine, not because of the file-format change. It's conceivable that a newer version of MuseScore 2.x could be implemented with similar layout improvements but without affecting the file format in any way.

This whole reset-positions-dialog issue is a bit of a red herring and not really the thing we're supposed to be discussing in this thread. For the purposes of this discussion, it may be helpful to think about a hypothetical scenario where there were no layout-engine improvements in MuseScore 3 but nevertheless still a change to the file format (for unrelated reasons).

In this hypothetical scenario, where there is no need to ask the user about anything layout-related when he or she opens a MuseScore 2 file, what should MuseScore's behavior be if the user opens such a file, flips through it without making any changes, and then closes it?

My argument is that since the user hasn't changed anything, MuseScore should just silently close the file without any prompt. I believe @Marc Sabatella's objection to this is that the user is closing the file in ignorance and that he or she should be informed that MuseScore 3 has a new file format so that the user can make an informed choice about whether or not to resave the file in this new format. My counterargument to that is that if the user hasn't explicitly made any changes to the file, the user has no reason to resave it, and therefore does not need to be informed or warned of anything at that particular moment.

I agree with @Marc Sabatella that the user should be informed about the file-format difference, but I disagree about when the user should be informed. I think the user should be informed if he or she attempts to save over the original file, since this is an irreversible operation that makes it impossible to ever open the file in MuseScore 2 again.

Currently, MuseScore 3 already partially does the right thing here by not overwriting the MuseScore 2 file by default. Instead, automatically puts up the “Save As…” dialog when the user invokes the “Save” command, and even defaults to both a different filename and a different save folder. This is a good start. However:

  1. The user is not informed as to why a “Save” command is causing a “Save As…” operation to be triggered. The operation in itself is fine, but the lack of information presented to the user about what's going on is confusing. Perhaps an informational dialog/warning could be presented to the user prior to putting up the “Save As…” dialog.

  2. In this “Save As…” dialog, if the user then browses to the original MuseScore 2 file and chooses to overwrite it, he or she is generically warned about overwriting the file (by an OS-level prompt), but is not informed about the potential data and workflow loss that can happen specifically when a MuseScore 2 file is overwritten with a MuseScore 3 file. This can be improved by presenting a warning/prompt (that appears after the normal OS-level prompt) that explicitly asks the user if he or she really wants to overwrite an old-format file with a new-format file.

(It's possible that one of the two warnings/prompts that I'm suggesting be added would be sufficient and that having two would be unnecessary and annoying.)

Another idea, mentioned by @Tantacrul in chat, is to append some text to the title tab when the user has opened (internally, imported) a MuseScore 2 file. For example, have the tab display “My Old Composition [converted]” (or perhaps “My Old Composition [imported]”) instead of just “My Old Composition”. This gives the user some indication that there is something unusual going on without being overly obtrusive. This can be done in addition to any other warnings or prompts that can also implemented at save time as I suggested above. This can even be done for all imported files (such as MusicXML and MIDI files) instead of marking them dirty and unconditionally forcing a save prompt to appear on close.

Once again: I agree with @Marc Sabatella that the user should be informed about what is going on with his or her files. I just disagree about the timing of the informing.

In reply to by Spire42

What I mean is that the detection of an MS2 score triggers the reset dialogue and this can lead to the dirty flag getting set and then to a save query if you simply close the file.

So I agree with this thread's title: "Disable the save prompt ..."

Frequency Once Few

@Spire42 seems to have covered my opinion with several additions that I also agree with, so I'm not talking about that again.

I think the thing with saving in old format is that we've already removed the code for that. Each type of element shown in the app has a different class internally, and each class has a member function named write() which decides how to write to files. So if we add the old code back, we should touch a lot of files that're related to score elements (technically those in the libmscore module). It'd be complicated and error-prone, given that both the structure of source files and MuseScore files have been changed. I'm not familiar of the changes in file format, actually. I joined way after 3.0 had been out. But I tend to believe if we've already completely removed something and changed things from there, it requires determination, resources and efforts to add it back, just like the Albums feature which'd been put on hold for a long time before a student began reimplementing it as a GSoC project. I don't think being able to save in old format would be valuable enough to be considered reimplementation.

@yonah_ag once again, it is not the reset that marks the score dirty, it is the fact that it is not a MuseScore 3 file, that it is an import.

In reply to by Howard-C

"I think the thing with saving in old format ..."

I suggested read only, not save so it would be the read and display code, not the write code. However, I appreciate that this may be too difficult (and error prone) to justify the time required which would be better spent elsewhere.

Despite the discussions about reset flag, layout engines and so on, the question is fairly simple:

If I load a file and do nothing, why do I get a popup when the original file was a MuseScore2 file and not when the original file was a MuseScore3 file?

it is now clear, the MuseScore3 file is "opened" and the MuseScore3 is "imported" but:
- It doesn't answer the question.
- In which importing a MuseScore2 file is different from a MusicXML file?

It seems the premise on importing files is users want to convert them and it seems this premise is wrong.

When somebody is about to close a changed file, it good to have a pop up to warn work will be destroyed if the file is not saved. However, when importing a file, no work is destroyed, the same file can be imported with the same result without any effort. This doesn't justify the pop up and is annoying if you just want to look into to the file (a play it, or print it, ...)

Oops, I've just tried: not taking the reset does not mark the score dirty (that little asterisk), while taking the reset indeed does.
But it still does ask to save it in any case.
So 2 issues to solve:

  1. don't mark dirty on taking the reset (pre MuseScore 3.x scores only)
  2. don't prompt for saving it nothing else got changed (all imports)

On top improve that reset dialog, like

  1. change that "Don't ask again" to "Remember my choice and don't ask again."
  2. maybe make the dialog texts clearer
    dialog.png
    but how? It is crystal clear to me...

@Tantacrul I don't think it needs to include the full name of the file
As you may see above: it does not include the full name of the file, not the entire path nor the extension

Yes, sorry. Still this isn't really relevant, as this issue here is about the save prompt on closing without (user) changes, and that shows regardless of that dirty flag. So yet another red herring...
Although it is debatable whether this reset does count as an explicit user change or not, as the above discussion shows.
On the pro side it is a change to the content, on the cons side it can get repeated any time.

You mean that "This score was created in MuseScore 2.x. Would you like to update it to MuseScore 3.x to take advantage of our improved automatic positioning (recommended)?" I guess? I don't see much of an improvement vs. the current string there. Also it gives a false impression. It is an import in any case and does use the automatic positioning, but those are sub-optimal for elements that had their offsets manually changed if not also taking that reset.

original string:
To best take advantage of automatic placement in MuseScore 3 when importing '%1' from MuseScore %2, it is recommended to reset the positions of all elements.

Yes that string needs to get clarified, that "Remember my choice" added (as that's what it does here)
Not sure whether an extra hint that this setting can be tweaked in Preferences would be needed or helpful
Edit: that actually is the case already, via a tooltip: "You can change this behaviour any time in 'Preferences… > Import > Reset Element Positions'"

Of course whichever you clicked, Yes (Always reset) or No (Never reset). Pretty obvious to me (once that "Remember my choice" string got added).
Again: this is not relevant for the issue at hand here

For 3.5 we're in string freeze already, should we get these strings changed anyhow? Or wait for 3.5.1?
Whatever, it should get done via a separate issue... (as it also is not relevant for this issue here)

In reply to by Jojo-Schmitz

It should be made clearer then that ticking yes and don't ask again is actually setting the option to reset every time. Currently, it is only obvious that the question will not be asked; it is not obvious what answer is being taken as the default. I encounter many apps that have defaults formulated as "do (a) always, do (b) always, ask every time". It is the "always" bit that is currently missing here.

Yes, indeed, and we're all agreeing in that, "Remember my choice and don't ask again." Not much to do with the issue at hand though, which is (mainly) about the dialog asking for saving an otherwise unchanged imported score.

Problem with disabling the 'Save' dialog: The code/setting that controls that (setCreated(bool)), which forces a "Save" to really be a "Save As", also controls whether there's an extra warning when overwriting an existing file (which should only be an issue with MuseScore 1.x and 2.x 'imports', but still...), that warning though is very important to prevent accidental overwrites of non-MuseScore-3 files

In reply to by Jojo-Schmitz

Having beaten the side issue of the reset/don't reset default into the ground. We return to the original issue.

My view is that if the user has asked to save the score and that save would potentially overwrite something, then the overwrite warning is useful and is pretty much standard for most applications. If the user is just closing MuseScore or just closing a tab with an open "imported" but unedited score, why is MuseScore even mentioning saving anything? The user has not asked for anything to be saved. If the score has not been edited there should be nothing to save. MuseScore should just close without saving and with no warning necessary. If the reset option has been taken (whether as a default or as a user-initiated action) , or if the reset option has not been taken and the user wants to save that the version of the score that is currently open in MuseScore3 as a score that can only be then opened in MuseScore 3, it seems reasonably that the user would initiate a save (and get a warning that 1) the score that is being saved was last saved in MuseScore 2 but this saved version will have to be opened in MuseScore 3 or later and if relevant 2) a further warning about overwriting), rather than having MuseScore offer to save the score on the off-chance that that is what the user wants.

Will there be users asking "Why didn't MuseScore tell me that it wasn't going to save the editing I didn't do?" I think it unlikely.

The overwrite warning is useful and important. Whether the Save dialog is, is debatable (and what this issue is about), but as far as I can tell currently we can't have one but not the other

In reply to by Jojo-Schmitz

Does that mean the overwrite warning happens even if there is no save operation that would do the overwriting? I think the issue is not with the warning or the save dialogue but with the save operation that causes the warning. There should be no save when the user closes the score if there has been no editing unless the user presses a save button.

The overwrite warning of course only shows on save. But not if setCreated(false) is used. And that in turn would be needed to avoid the save dialog. Catch-22....

I would absolutely agree that in general, in most cases, there is no need to show a dialog on close of an unmodified imported file. We all get that this isn't the usual thing for most programs and most files.

The question here is whether there is anything unusual or unique about the specific case of MuseScore 2/3 that might warrant different behavior. I say yes. And I have answered over 17,000 (!) questions from users over the years, and I think I have a pretty good understanding of our users and what they find confusing.

To be more specific: what makes this special are the facts that MuseScore 2 & 3 use different formats but the same extension, that MuseScore 3 and all mobile apps can open MuseScore 2 files, but MuseScore 2 and some of the mobile apps cannot open MuseScore 3 files, that it might turn out someday that musescore.com starts rendering MuseScore 2 files with MuseScore 3 or 4, that some future version of MuseScore or musescore.com may well stop supporting MuseScore 2 files at all, that MsueScore 2 & 3 have different default layouts which is explained by the import dialog and thus tricks the user into thinking this somehow has something anything to do with the file format - all these are very special reasons that don't apply to any previous examples of file import you might compare this to. The vast majority of users do not understand most of this.

I don't love the current dialog. I'm happy to see it replaced with something better, perhaps different wording, perhaps an option to remember the choice and not ask again, perhaps a better-worded dialog on save, perhaps a second dialog on import to make clear that the decision is *completely unrelated to the layout decision) - lots of ways we could potentially improve the situation. I'm open to just about any suggestion that actually helps the user understand better saves me from another 17,000 posts over the coming years :-)

In reply to by Marc Sabatella

I still have problems to understand what you try to tell but, please correct me when I'm wrong, it sounds as a kind of compatibility issue. In short, MuseScore X can read all format X-N (with 0<=N<=X) but MuseScore X-N can't read format X-N+1 ... X.

Your point: Please make users aware one day these "old" format cannot be read anymore and please save it to a new version. I hope I understand your point correctly. Nevertheless, this possible break in compatibility is a serious issue indeed!

Provided this assumption is correct, the solution is two-fold:

  1. Give the user the option to save the file in the same form asking to reset to layouts (or whatever). This is the moment (s)he is confronted with the fact the imported file might not be imported a (near?) future.

  2. There is one big hole in this approach, there is no guarantee all files will be imported before the support of these older formats is dropped. That means we have to offer a kind of conversion tool. Providing a conversion tool from all possible versions to the "latest" is a hell of a job. However, doing it step by step, form X-N to X-N+1 to X-N+2 ... to X is straightforward..

I suggest that it is not the layout changes that confuse the users, but MuseScore's bringing it to their attention when there is no need to do so that causes the confusion. What would be the downside of not offering to save an un-edited imported MuseScore2 file when the user presses X to close the tab or the program and rather just get on and do what the user asks, no more, no less? When and if the user decides to save the score, that surely is the time to warn them of the implications of doing so, not when they are trying to do an operation that in all other circumstances would not have anything to do with saving.

When I see the save dialogue at that stage I start to feel uneasy. It could be several hours or even days since I opened the score. Did I edit something? Is there some change I made that I want to save? I don't remember it if I did. Maybe I was just fooling around with a stupid idea that is really best forgotten. Perhaps I had better look through the score to see if I did make a change. No, I can't see anything obvious, OK, I will save it but I will give it a different name just in case and take a look when I have more time to see whether there is anything there I want to keep. If there would be no save dialogue when I press the X button, I would be reassured that I had not made any changes. It would be just the same as pressing the X button after opening the score in MuseScore 2. Closing the score has not lost anything if I really didn't make any changes. I would not have a redundant version of the score saved from MuseScore3.

What scenario without the offer to save causes confusion or inconvenience for the user?

The compatibility issue is indeed the main concern, that's what it means to say the format has changed. This is the part people struggle to understand - they think that it's only about the layout change. And people really struggle with the file format thing, getting very confused about which of their files are in MuseScore 2 vs 3 format, which files can be opened in which version of the program, etc.

Many people erroneously think that because they opened their file and answered the quest about reset, somehow this magically changed the file to MuseScore 3 format. It makes no sense, people should know that without an explicit save, your file isn't changed, but people don't know this. It's a fact of the modern world - few mobile apps have anything like this concept of explicitly "saving" a file, and every once in a while we get questions people who quite literally never saved their files ever, thinking MuseScore does it for them, then are surprised to lose all their work. We also get people who think files are saved "in" MuseScore somehow, like it has its own private storage area, that the list of recent scores in the Start Center somehow represents everything there is, and once a file is gone from that list, it is gone forever. Or that uninstalling MuseScore will remove their files. Or that installing MuseScore caused them to lose their old scores just because they didn't show in the default folder any more. Or they can't find their own scores on their own drive because they literally have no idea what folder it is in. Or they want to keep their MuseScore 2 & 3 files separate, but struggle because the file extension didn't change and there is no way to tell just by looking. And so on.

The point being, there are tons of opportunities for people to be confused about really basic file management things to begin with, even before we throw this extra wrench in there about some MSCZ files being in MuseScore 2 format and others being in MuseScore 3 format. Then on top of that we confuse them further by putting up a dialog about resetting positions, fooling many already confused people into thinking once they answer that question, they now have a MuseScore 3 file. They don't, that doesn't happen until they choose to save, but many of these people might not do so because they just don't get that this would be necessary for all the above reasons.

So again, at least once in their entire lives, we owe it to them to inform them: "Hey, I know you might have thought that your file was fully converted when you imported it because we made you answer a question about resetting positions, but be aware your file is still in MuseScore 2 format. Maybe that's cool with you, but we thought you should know. Now that you know, you have the option of saving, or just click that little box and we won't bother you about it anymore."

How about this?

When the user opens an old MuseScore score:

  1. Show an informational dialog that looks something like this:

    MuseScore - Import MuseScore 2.3.2 warning.png

  2. Show the usual “Reset the positions of all elements?” dialog (with the fixes suggested by Tantacrul).

  3. Change the score tab text to read “My Old Composition [imported]”.

  4. Don't prompt to save changes on close, no matter how the user has responded to the “Reset the positions of all elements?” dialog, unless the user has made explicit changes to the score after importing.

  5. Preserve the existing behavior of automatically redirecting the “Save” command to “Save As…” and suggesting a new file name and/or folder.

  6. Should the user save the score, remove “ [imported]” from the score tab text and treat the still-open score as a standard MuseScore 3 score (which it now is).

Are you proposing that dialog should appear first, then on hitting OK, a second dialog appears with the reset question? To me that's not really great design, and it could use a bit of wordsmithing. For example, says who it should be in a different folder or that one needs a backup, this is up to the user. I think it should say something more like "When you save this file it will be in MuseScore 3 format and cannot be opened in MuseScore 2, so you may wish to save in a different folder and/or keep the original as a backup"

But anyhow, it's not worse than what we do now, so I won't complain if others really like this.

Absolutely, but I would just mention that this is already the case, the two dialogs are just spread out more. It's the two in a row on apparently-but-not-really-related topics that is a slight concern. But with the ability to make either or both of them go away forever, but also the opportunity to provide more/better information than we currently do, like I said, I would be on board if others really prefer seeing the two dialogs up front rather than separated as they are now.

A very well thought out suggestion by @spire42. My main hope is that Step 4 gets implemented.

A couple of suggested tweaks:
1. The wording for the tick box "Don't show this again" is slightly ambiguous. It could be interpreted as meaning:
a) the message will not be shown for any future imports of scores (which I think is what is intended), or
b) the message will not be shown if the user imports "My Old Composition" again but would be for other imported scores.
How about "Don't show this again when importing MuseScore 2 scores"?

  1. Is it necessary (or wise) to specify the version number in "It is not possible to open MuseScore 2.x.x files in MuseScore 3". This may give the user hope that it would be possible to open a score created in 2.y.y. So my suggested tweak is to just mention MuseScore 2 without the minor version numbers.

@SteveBlower "It is not possible to open MuseScore 2.x.x files in MuseScore 3"??? Other way round for sure.
And maybe make it "It is not possible to open MuseScore 3 files in MuseScore 2.x", literally 'x', not a number. Or indeed just "It is not possible to open MuseScore 3 files in MuseScore 2". But leave the 1st sentence, mentioning the full version.