-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Explode & Implode #1444
Explode & Implode #1444
Conversation
Wouldn't something like "scatter/gather" be a better name rather than the somewhat martial "explode/implode"? |
Implode / explode seems consistent with other software. http://www.sibelius.com/download/plugins/index.html?plugin=434 We have an how to page on MuseScore.org with the different words, combine, merge etc... http://musescore.org/node/12345 I guess the best we can do is to be consistent with other software and to make sure we use all possible synonyms on the handbook page to make Google happy. I believe we already got this discussion when the plode plugin was made. |
OK, consistency trumps |
9138b30
to
4e9cbfe
Compare
Hmm, Travis passed, but failed after rebasing this morning - perhaps because of code the got incorporated from the rebase? Are other tests generally failing now> |
Maybe another rebase to pull in the latest mtest fix for a guitarpro, d888bc9? |
Will do. On Tue, Nov 11, 2014 at 12:16 AM, Joachim Schmitz notifications@github.com
Marc Sabatella |
2ed9eea
to
cf3c6b7
Compare
Now that undo is behaving better, I was also able to turn the undo tests back on in the last commit. And who knows, maybe I'll get lucky with Travis this time too. |
cf3c6b7
to
4a3fe11
Compare
Shame to make changes after a good Travis build :-), but this is going to need a rebase after the actions/shortcut refactoring from the other day. |
Rebased & updated with recent shortcut.cpp changes. |
OK, I guess I need a new PR; see #1456. |
Adds native explode & implode functions to a new "Tools" submenu under "Edit".
Explode: select a range on either a single staff or a group of staves. The top staff of the selection is treated as the source. All chords within the range on the source staff are exploded into the remaining staves in the selection. If user selected only the source staff, then the function uses as many staves as it needs.
Implode: select a range on a group of staves. The top staff of the selection is treated as the destination. All chords within the range on the destination staff are augmented by the notes of chords on the same segment on the other staves.
These functions only behave well if the material lends itself to explosion / implosion - a series of chords in a single voice per staff with the same rhythm. Notes that do not fit this model are simply ignored. While it's a pretty simple algorithm, it is actually a pretty big improvement over the plugins for 1.3. For explode, you don't have to copy the source to the other staves first, and chords with fewer notes than there are staves are handled better (each note of the chord is duplicated as necessary). For implode, it handles tuplets and ties, and tries to avoid duplicate notes.