Systems can overlap (by same amount that staves *don't*)
Reported version
3.0
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project
When there are text and notes above one system and also below the system above it, the systems may overlap and auto avoidance does not take this into consideration as can be seen in this picture:
which was taken of mm 62 & 68 of Beethoven String Quartet Op 131.mscz which is included for examination. The only changes I made to the default laoyout were to the Y offset for dynamics and hairpins (I reduced them because I think the default puts them too far from the staff).
You can of course change settings to prevent such overlaps, but the problem is that auto avoidance does well in adjusting staff distance, it fails in adjusting system distance.
Comments
This is interesting - from what I can tell, it is adjusting the system distance (try lowering the "dim---" a bit (say, 4sp as vertical offset) and you'll see it does push the next system down, but there is a slight overlap. As I test different combinations to see what is going on, I am led to one conclusion: the algorithm is trying to leave a certain amount of space - around 0.5sp I guess - between systems, but actually leaving -0.5sp of overlap between systems. Could be it as simple as getting the sign wrong in the calculation - eg, trying to leave 0.5sp separation but actually leaving -0.5sp?
Check it out, here is the spacing algorithm leaving around 0.5sp separation between staves:
and here it is leaving around the same amount of overlap between systems:
Sounds like your probably on the right track. Someone will have to look at the code to confirm this.
Confirmed. See https://github.com/musescore/MuseScore/pull/4283. Changing a plus to a minus in one spot produces:
Fixed in branch master, commit 666f40051b
fix #279240: systems overlap rather than separate by minVerticalDistance
Fixed in branch master, commit 066bcb4eb7
Merge pull request #4283 from MarcSabatella/279240-minverticaldistance
fix #279240: systems overlap rather than separate by minVerticalDistance
Automatically closed -- issue fixed for 2 weeks with no activity.