musescore / musescore/MuseScore

Undo fails to reset tablature staff's custom string assignments

Open
#21,486 6 comments 0 reactions 1 assignee View on GitHub

@DmitryArefiev is already working on this.

Since Feb 20, 2024.

guitar needs info P2 UX/interaction
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.