musescore / musescore/MuseScore
Revamp the "Usable Pitch Range" system
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Your idea
Add some more features to the "Usable Pitch Range" section of the "Staff/Part Properties", like:
- Allowing to exclude certain specific notes from the "Amateur" Range and mark them as "Professional"
- Allowing to mark as "Unplayable (red)" some notes within the "Professional" range
- Adding a toggle to see the written pitches instead of the sounding ones in the pitch table on transposing instruments.
- Preserve the ranges when changing the instrument's transposition
Problem to be solved
As you probably know, some instruments (especially winds) have some tricky ranges, sometimes with gaps between notes, like:
- Tenor Trombones with an F valve, which can't play B1 but can play Bb1 and below, and C2 and above. Without a valve, you have all the range from D2 to B1 being unplayable.
- Recorders, which have their Written C6/F6 and D6/G6 as a part of the standard register, but C#6 can't be played normally without using your knee or some other way.
- You know the drill.
Marking specific notes as Professional or Unplayable within the normal ranges would reduce the number of people using unplayable or less convenient notes, and well, it also feels more "Pro" when the program knows that little detail about your instrument. 😉
Sometimes you also want a work to feature your, let's say, newly made Bass Clarinet in C and your Flute in D (or some other crazy instrument not in the list), so you go to the Staff/Part settings and move the transposition, just to find out the ranges didn't move so you'll have to do it manually.
Prior art
No response
Additional context
Some more other features might come to mind but I'm not sure they totally belong here...
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.
Research direction
Start with the Staff/Part Properties section and its Usable Pitch Range system. Define how note exclusions, written versus sounding pitches, and transposition changes should interact, using the trombone and recorder examples as behavioral references. Done means all four requested behaviors are supported consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100