multi-staff implode doesn't work when selection is a single measure or smaller
Reported version
3.0
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
No
Project
If the end measure and start measure of a multi-staff implode were identical, the implode wouldn't do anything. Here I start with a chord in staff 1, explode it (which works correctly), but then subsequent implode fails to do anything:
Fix version
3.0.3
Comments
https://github.com/musescore/MuseScore/pull/4520
Note: I also fixed another glitch with that loop for the case which mistakenly failed to implode tracks if only the final measure of the selection contains notes for those tracks.
In reply to https://github.com/musescore… by ericfontainejazz
There's more for this bug here: even if all notes are exactly of the same rhythm, the Implode command puts them always to different voices. .
In reply to There's more for this bug… by ciospe
Putting notes from different staves to different voices is by design. It makes it easy to create parts if you use this feature to condense a large score. Once you have everything in multiple voices, you can use implode only on that staff to consolidate the notes into voice 1.
Great to know. So, to get notes from different staves condensed in a single staff (and also in single voice 1) one have to run the Implode command twice:
1st time: to condense notes from different staves to single staff (but in different voices)
2nd time: to condence notes further, from different voices to single one.
At this point, the only bug remaining on Inplode command remains the fact that it doesn't work if selection is spanning only one measure (or less).
Ericfontainejazz wrote code to fix it. Hopefully Anatoly-os will include it in the next release. You will see messages in this report if that happens.
Fixed in branch master, commit ef18ff325e
_fix #280900 Implode Single Measure
Fixes a bug where if single measure (or smaller) range was selected, then multi-staff implode wouldn't do anything. Also fixs case where endMeasure is the only measure which in selection which contains voices. Code from commit 961782a likely caused this regression.
The fix is to change structure of the loop iterating over measures from a for loop to a do while loop, to ensure that the loop body always runs for startMeasure. And also makes sure to run the body of the loop for endMeasure._
Fixed in branch master, commit 6ea3b28e89
_Merge pull request #4520 from ericfont/280900-implode-single-measure
fix #280900 Implode Single Measure_
Automatically closed -- issue fixed for 2 weeks with no activity.