Stems and articulations added to skyline incorrectly for cross-staff notes

• May 10, 2019 - 17:53
Reported version
3.x-dev
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

A couple of issues in calculating skylines in the presence of cross staff notation:

1) articulations are added to the wrong skyline
2) stems are added as if they were facing the opposite direction in some cases

Both cases are easily illustrated with an image:

cross-skyline.png

Both cases are an issue in 3.0.5 as well as 3.1, although the specifics of 2) differ because of a change I made at https://github.com/musescore/MuseScore/pull/4814/commits/e0bd254d48137f….

The articulation should be simple enough to solve, we just need to use vStaffIdx() appropriately. The stem issue is a little more problematic in that we don't actually know the correct direction until too late. A possible solution is to simply not add stems to the skyline at all in the presence of cross staff beams. It's already the case that we get them on the other side since we aren't adding to that skyline when we "should" be, and really, avoiding collisions between the staves is not realistic in the presence of cross staff beams.


Comments

Fix version
3.1.0