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.3k stars 2.66k forks source link

Inconsistent behavior in adding and removing modifiers to notes #22494

Open YottaYocta opened 6 months ago

YottaYocta commented 6 months ago

Issue type

UX/Interaction bug (incorrect behaviour)

Bug description

Shortcuts, the buttons in the top menu bar, and the buttons in the palettes all work differently when adding note modifiers (accidentals, articulations, bowings, tremolos, ornaments, etc).

note: . indicates a note without any modifiers added

Shortcuts

Shortcuts to add accidentals (sharp, flat, natural, double sharp, double flat) toggle the accidental individually for every note in a selection

# # # . # -> . . . # .

Shortcuts to add/remove bowing also toggle the bowing individually for each note in a selection

v v v . v -> . . . v .

Shortcuts to add articulations (Marcato, Staccato, Accent, Tenuto) first add the articulation to every note in a selection. If all the selected notes have an articulation, it removes the articulation from all the notes.

˙ ˙ ˙ . ˙ -> ˙ ˙ ˙ ˙ ˙ -> . . . . .

Top Menu Bar/Toolbar

Clicking on the button for any accidental toggles the accidental individually for every note in a selection

# # # . # -> . . . # .

Clicking on the button for any articulation adds the articulation to every note, them removes it

˙ ˙ ˙ . ˙ -> ˙ ˙ ˙ ˙ ˙ -> . . . . .

Side Palette:

Clicking on a accidental button will only add the accidental, and will not remove or toggle any notes in a selection.

# # # . # -> # # # # #

Clicking on an articulation button (including bowings) will only add the articulation

v v v . v -> . . . v .

Clicking on any one-note tremolo will toggle the tremolo individually for every note in a selection

= = = . = -> . . . = .

However, clicking on any measured tremolo will only add

Tremolos between notes will toggle, but seemingly only on the last two notes of the same value it can find within a measure

Single-note ornaments (mordent, turn, etc.) only add.

Multi-note/line ornaments only add (trill with line), but can be added more than once

currently, being able to add dynamics more than once is a good thing because it allows for hidden dynamics to affect playback however, the same dynamic can be added to a note more than once (select note, add 'p', select again, add 'p': two pianos). Crescendos and Diminuendos, like the multi-note ornaments, can be added more than once.

Keyboard pedal markings can be added more than once to the same note range

rit, allarg., and other multi-note tempo changes can be added more than once to same set of notes

Multiple arcos and pizzs can be added on same note.

Change instrument can only be added to a note once

Multiple rehearsal marks can be added on same note

Pitch changes can be added more than once

Breaths and pauses only be added

Grace notes add more than one (expected), however, adding an appogiatura to a group of acciatura notes will turn everything into an appogiatura

This list is not exhaustive; they are just all of the behavior inconsistencies I managed to find

Steps to reproduce

  1. apply any modifier to a single note in a range
  2. select a range of notes including that note (make sure they don't also have the modifier)
  3. use the toolbar/shortcut/palette to add the modifier to an entire group
  4. behavior varies between staff text, articulations, dynamics, tremolos, etc.

Screenshots/Screen recordings

Note: adding some modifiers clears your selection automatically, which is why some images have different selection ranges

Individual toggle from using top menu bar and shortcut for accidentals

image image

Group add, group toggle in common articulations (marcato, tenuto, staccato, accent)

image image image

Side palette buttons that only add modifiers and do not toggle

image image image image

Side palette individual toggle for single-note tremolos

image image

Multi-note/line ornaments only add, but can be added more than once (I clicked add 4 times, second image shows all 4 dragged out)

image image

The same tempo marking can be added more than once

image

Same rehearsal mark can be added more than once

image

Adding an appogiatura to a group of acciatura notes will turn everything into an appogiatura

image image

MuseScore Version

MuseScore version (64-bit): 4.2.1-240230937, revision: github-musescore-musescore-d757433

Regression

I don't know

Operating system

OS: macOS 14.0, Arch.: x86_64

Additional context

Per a conversation on the MU Discord, here are a set of possible suggested changes:

XiaoMigros commented 6 months ago

I think the not allowing duplicates/nonsense makes sense when adding from shortcuts, toolbar or palette, but I think it's worth preserving the option for copy+paste. No need to excessively limit functionality here IMO

YottaYocta commented 6 months ago

Maybe there could be some sort of user-enabled option for pasting with/without replacement. When editing a score and trying to move articulation around, it can be an immense pain to delete a bunch of double staccatos. image

XiaoMigros commented 6 months ago

I would be happy to work on this, for the record

cbjeukendrup commented 6 months ago

@XiaoMigros That would be absolutely appreciated! Since this issue has quite a lot of aspects, it might be nice to fix these one by one in separate PRs, as far as possible, for easy reviewing. On the other hand, it would be great to reduce the amount of "code paths" involved in "adding things", and generalise as much as possible, which might be slightly easier when doing everything in one PR. Perhaps there is a "best of both worlds" compromise.

XiaoMigros commented 6 months ago

Noted, I'll see what I can come up with!