Implode fails if there are rests in voice 1 of destination staff
Reported version
2.1
Priority
P3 - Low
Type
Functional
Severity
S5 - Suggestion
Status
closed
Regression
No
Workaround
No
Project
2.0.3 / Win 7/8
See attached staff. If you apply implode to one staff, any rests in voice 1 cause the deletion of all notes at that position:
Before implode:
After implode:
Attachment | Size |
---|---|
implode_bug.mscz | 5.48 KB |
Comments
This issue affects multiple-staff implode as well. If there are rests in voice 1 of the top staff then implode does not take place at those positions.
Right, but in that case it is not incorrect. Multi-staff implode assumes identical rhythms, and results are pretty undefined in other cases. As an enhancement we could try to do some intelligent combinations, but it wasn't originally designed for that purpose - it was intended for monophonic writing.
"Multi-staff implode assumes identical rhythms, and results are pretty undefined in other cases."
AFAIK, Implode seems to use the top staff as a "rhythm guide" and adds notes in underlying staves, wherever possible, even if it means altering their durations to fit the existing pattern in the top staff.
However, IMV, it would be sensible to ensure that implode still goes ahead even if there is a rest in a top staff position (voice 1).
Worth thinking through the different possibilities here (what if each voice other than 1 has a note of a different duration, etc) and coming up with a really good strategy. Also worth considering whether the integrity of voice 1 should be compromised. One possibility is to find the first voice that does have a note and use it to collect any notes in remaining voices.
If nothing else, maybe at least don't delete the other notes.
https://github.com/musescore/MuseScore/pull/4309 (fixes to not delete contents of 2-4 if there is rest in 1)
Fixed in branch master, commit cd0d91809a
fix #174111: don't delete un-merged notes under rests on voice implode
Automatically closed -- issue fixed for 2 weeks with no activity.