musescore / musescore/MuseScore
Entering percussion notes by clicking in score should favor first matching pad in panel
@bkunda is already working on this.
Since Feb 25, 2025.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Your idea
When entering percussion notes by clicking directly into the staff, it sometimes happens that there are multiple notes to choose from at the same staff line/space, and we need to pick one to offer by default. For example, both ride cymbal and high tom default to line 0 (top staff line). We currently use MIDI pitch order to set precedence, and as of https://github.com/musescore/MuseScore/pull/26704 we also favor normal noteheads.
My proposal is that we use the pad order within the percussion panel instead of MIDI pitch order, and remove the preference for normal noteheads. First pad with a matching line/space wins, regardless of notehead. This allows the user to control precedence in the most obvious way I can think of - by ordering pads to put the most commonly used ones toward the front of the list. That is what it seems we try to do by default and what I imagine people will naturally stick to when customizing.
This change would only affect note input behavior, not anything about existing scores, so it should be perfectly safe to make this change at any time in the future.
Problem to be solved
When looping through notes in MIDI pitch order, favoring normal noteheads is a good idea "most" of the time, and in particular it solves the issue of side stick taking precedence over snare drum. However, this algorithm is still really ideal. In the default drumsets, it will favor high tom over ride cymbal. That is arguably what some might want, but definitely not what I would expect. Also, if you happen to define a normal notehead note at the same line/space as a standard cymbal to use for some other special purpose (say, bongo), it will suddenly take precedence. Again, maybe that is what you want, but probably not. Using pad order allows the user to be in control of precedence.
Prior art
No response
Additional context
No response
Checklist
- This request follows the guidelines for reporting issues
- I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.