musescore / musescore/MuseScore
Method of adding dynamics to all staves that have notes in them
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
I'd like to be able to select a range across all staves, and add a dynamic marking to all of the ones that have notes in them, skipping the empty ones.
Problem to be solved
When working with a large orchestral score, it's common to have, say, 30 staves, 10 of which might have nothing playing, but 20 of which you want to apply the same dynamics to (including hairpins). Currently if you select a range across multiple staves, it adds the dynamics even to the staves that have nothing playing, which seems a little unexpected.
Either it should automatically skip empty staves or there should be some function you can use when adding such items from the palette to skip empty staves (it's potentially useful for other textual directions too).
I'd probably extend this to suggest the dynamic marking should be placed where the first note in the range for each stave is too (e.g. if the first selected staff had a note at beat 1 in the measure, a cresc. should be shown starting there, but if a second staff had its first note at beat 2, any hairpin added this way would start there instead, likewise for individual dynamic markings - p,f, etc.).
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.
Research direction
No file, test, or entry point is named. Start by tracing multi-staff range selection and how palette dynamics and hairpins are placed; clarify the behavior for empty staves and each stave's first note. Done means the selected dynamics skip empty staves and begin at the appropriate first note, with coverage for the described cases.
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
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100