musescore / musescore/MuseScore
Ability to "explode" within a single staff
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
Would like to be able to take chords with all notes in voice 1 written on the bottom staff of a score and explode it so the top note is voice 1, next note down is voice 2 etc.
Problem to be solved
Currently this can only be done by using Explode followed by Implode if you have enough spare stave below for all notes in the chord. But if there are no (empty) staves below, it's useful (for part extraction etc.) to be able to take a chord and split it into voices. Plus it would save having to clean up the extra notes left by the initial Explode command.
Prior art
No response
Additional context
In fact what would be really powerful is the ability when doing an Explode to specify how many staves to do it over. The top note of each chord remains where it is, and all remaining notes are distributed onto the remaining staves (recursively, meaning a 5 note chord exploded onto 4 staves ends up with a 2 note chord in the bottom staff). But I'd be fine with having a new "Explode within staff" command that just keeps everything in one staff. If the chord has more than 4 notes I would expect it would just put all the extra ones into voice 4 (though v1 is fine), whereas the existing Implode command seems to ignore notes below the 4th staff of those selected.
As a bonus request, it should honour what MuseScore seems to call "bracket arpeggio" symbols, when used to indicate multi-stopped chords for (bowed) string instruments.
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
Start by locating the existing Explode and Implode commands and tracing how they distribute chord notes across staves and voices. Define the desired behavior for a single staff, voice limits, multi-staff distribution, and bracket arpeggios before implementing; done means the requested command works without spare staves and preserves the intended notation.
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
- 45/100