I’m a new user and encountered what appeared to be a bug when using Change Voice on passages involving tuplets. After some searching it appears to be the same underlying issue as these two posts:
To reproduce this issue, create a new project with any one player, insert some music including a tuplet and also some notes after the tuplet, and with two-note chords for each note. Select it all and do Edit > Filter > Notes in Chords > Second Note or Single Notes. This selects the bottom notes and also the “3” from the triplet. Now right-click and do Voices > Change Voice > New Down-stem Voice. The lower notes are properly moved to the new voice, but the upper notes are corrupted: the triplet in the upper voice has been deleted and the notes from it have spilled out, overwriting notes after it.
If the “3” is manually deselected before Change Voice, then the upper voice is correct but the lower voice is written without the triplet. Either choice you make, one of the voices becomes corrupted.
As best I can tell from observation, the “Change Voice” feature operates by effectively “cutting” the selected contents and then “pasting” them into the new voice. From the previous posts–and I can confirm this simply by adding a second instrument and trying it–it appears the same problem occurs if you select some notes within the tuplet and manually cut and paste: if you select the tuplet when cutting, then it corrupts the remaining music, and if you don’t select the tuplet when cutting, it corrupts the music you’ve just cut (what will get pasted).
It was argued in the other threads that there is an ambiguity with cut/copy/paste, that the system does not know what your next operation will be and therefore can’t make the correct decision in all cases. However, there should be no ambiguity with “Change Voice”, as it’s a single built-in command. And, whether the workaround of deselecting the “3” is applied or not, one of the two voices gets corrupted. I’m not sure how this could be considered not a bug–right now, “Change Voice” simply does not work on passages involving tuplets where some but not all of the notes in the tuplets are selected.
I think the underlying fix should be something like this:
- When performing “delete” operation (whether by itself or as a part of Cut or Change Voice):
---- For each selected tuplet, if either all of the notes within the tuplet are selected or none of them are, delete the tuplet with the current behavior. Otherwise, do not delete the tuplet, simply deselect it.
- When performing “copy” operation (whether by itself or as part of Cut or Change Voice):
---- For each selected note, if it is within a tuplet, copy the tuplet as well.
Hopefully this should be a simple fix that does not require any substantial changes to how tuplets are handled globally.