musescore / musescore/MuseScore

Ability to "explode" within a single staff

Open
#24,788 0 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
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

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.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.