On import, diagonal lines crossing staff should be set to no autoplace

• Jan 22, 2019 - 21:35
Reported version
3.0
Priority
P0 - Critical
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
active
Regression
Yes
Workaround
No
Project

3.0.1, Windows 10

1) load attached score - do not take the reset
2) compare against same score loaded into MuseScore 2

Result: first line, which lives totally within the staff, has had autoplace disabled on import as it should. But second line, which should start above the staff then dip down into the staff, still has autoplace enabled, so it gets moved above the staff. We have a function (which I wrote) in read206.cpp called "adjustPlacement()" that is responsible for figuring out - based on the style default and the offset - whether any given element should be placed above or below and whether autoplace needs to be disabled. For line segments, we disable autoplace if the offset places it within the staff, but that checks only the start point. We need to also check the end point in the same way. Should be simple and will help a lot with import of scores that use lines within the staff as annotations.

Came up in a very interesting discussion on autoplace in general, see my comment here: https://musescore.org/en/node/278999#comment-888984

Attachment Size
line-on-staff-2.mscz 4.99 KB