musescore / musescore/MuseScore

Entering percussion notes by clicking in score should favor first matching pad in panel

Open
#26,709 4 comments 0 reactions 1 assignee View on GitHub

@bkunda is already working on this.

Since Feb 25, 2025.

needs review percussion
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

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.