Abnormal behavior in cross-staff triplets

• Jun 4, 2019 - 20:48
Reported version
P2 - Medium
S5 - Suggestion

1) Create a score for piano or harp in 4/4 and change the bass clef to treble.
2) Write an ascending arpeggio C-E-G-C-E-G-C-E-G in 16-th triplets on the top staff, so that two triplets are beamed. The first two triplets are beamed above (stems up)

First problem
3) Using Ctl-Shft-Down move the first three notes to the lower staff. The second triplet is now beamed below (stems down).
4) The numeral 3 of the second triplet appears way too high, as if it were still asosciated to the original beam. Toggling the operation back and forth quickly it can be seen that actually the 3 even rises a bit.

Proposed solution: Place the numeral using the same method that would apply if the triplets were independent (i.e., without a joining beam)

Second problem
5) Undo cross-staff and now select the first 4 notes (three from the first triplet and one from the second one). Move them to the lower staff.
6) The numeral 3 of the second triplet appears way to low, and, to make matters worse, it falls completely within the staff (which should be avoided according to Elaine Gould).

Proposed solution: This case differs from the previous one in that we have mixed stem directions within a group, which is not possible when all the notes of a beamed group belong to the same staff, so the position cannot be inherited from the general case. The position of the numeral should then be centered, on the opposite side of the stem or stems closer to the middle, and at a distance of a space from the closest beam.

NOTE: I've tested (not exhaustively) some combinations when there are subdivisions within the triplet, and these rules seem to be promising. In complex cases it might fail, then it would be necessary to make manual corrections, but the need to make corrections would restict to rare cases, not to the most common ones as currently happens.

Find attached some examples.

Attachment Size
Cross_staff_triplets.mscz 13.48 KB


Type Graphical (UI) Functional
Priority P2 - Medium

Thanks for putting this together!

A couple of notes:

We already have an option "Avoid staves" that is enabled by default, but it doesn't work for tuplets that have some notes on each staff.

I think most of the issues here are attributable to us not knowing the final stem lengths and beam direction until too late in the process. It's probably fixable with some work.