musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.36k stars 2.67k forks source link

Undo fails to reset tablature staff's custom string assignments #21486

Open scorster opened 9 months ago

scorster commented 9 months ago

Issue type

UX/Interaction bug (incorrect behaviour)

Bug description

In a score with a linked Guitar + Tablature system, after a pitch change in the treble clef, and then after Undo, the treble clef correctly returns to its original pitch but MuseScore fails to restore the tablature custom string assignments.

This incomplete Undo is a real problem when the following sequence of events occurs:

    • multiple string assignments exist     • I have a group of notes selected (for instance, an entire measure or more)     • I accidentally drag pitch-drag the selection. The is particularly problematic as I find that MuseScore frequently scrolls the screen when I click a note, resulting in a pitch drag. (Maybe I need to turn off MagicMouse scrolling?)

After this kind of incomplete Undo the only resort is to manually reset all the non-default string assignments ... or to open a Save/Backup to see if the measure is extant therein.

Steps to reproduce

  1. New>Template>Guitar + Tablature (This creates a linked staff system)
  2. Add a note G note (the open G string, the 3rd string)
  3. In the tab staff drag the note to the D string, the 4th string (result is the fret number 5)
  4. Press Undo

see comment

Result:

  1. The treble clef reverts correctly
  2. The tablature fails to revert to its custom D string assignment. Instead it displays the default open G string.

MuseScore Version

4.2.1

Regression

Yes, this is a regression. Tablature string assignments are properly reset in MuseScore 3.6.2 after Undoing a treble staff pitch change.

Operating system

MacOS 13.5.2

scorster commented 9 months ago

Worth noting:

In the scenario outlined above: If I delete the note in the treble staff and then Undo, both the treble and tablature are fully restored ... including the tablature string assignment.

In contrast, as stated in the opening post, after changing pitch in the treble staff (in a manner that differs from the default tablature string assignments) Undo does not fully restore the tablature string assignments.

bkunda commented 9 months ago

@DmitryArefiev I'm unable to reproduce this. Can you pls take a look?

scorster commented 9 months ago

This issue is 100% persistent here on MacOS 13.5.2 MuseScore 4.2.1.

Please see the attached example score with steps to replicate.

Undo and Tablature string assignments 02.mscz.zip

MarcSabatella commented 6 months ago

Confirmed here as well. If a transposition using Tools / Transpose results in string assignments changing, undo does not restore the originals.

DmitryArefiev commented 6 months ago

This issue is 100% persistent here on MacOS 13.5.2 MuseScore 4.2.1.

Please see the attached example score with steps to replicate.

Undo and Tablature string assignments 02.mscz.zip

Yes, I can reproduce in 4.3

https://github.com/musescore/MuseScore/assets/90187801/1a583cc3-5aeb-493b-b0f0-0f61889261dd

DmitryArefiev commented 6 months ago

@scorster Are you sure it's a regression? I can reproduce it in 3.6.2 as well:

https://github.com/musescore/MuseScore/assets/90187801/732b9203-0490-476d-80e7-97756db08c28