Staff with lyrics always has at least 7sp of distance to next staff

• Apr 15, 2014 - 13:04
Type
Functional
Severity
S4 - Minor
Status
closed
Project

This issue shows up in to ways.

Context: commit 1cfa954 self-compiled on Linux Mint 14, Qt lib 5.1.0

Steps A:
1) Create or open any score with one staff with lyrics and another staff below it.
2) In "Style | General | Page" change the "min. system distance" value

Result: the distance from the staff with lyrics to the staff below changes as long as the "min. system distance" value >= 7. Any value < 7 will not reduce the distance any more. Note that if the staff has no lyrics, the distance may be reduced down to 0.
Expected result: the distance between the staff with lyrics and the staff below changes according to the "min. system distance" value.
______________

Steps B:

1) Create or open any score with one staff with lyrics and another staff below it.
2) Right-click the staff below and choose "Staff properties"
3) Enter a negative value in "Extra distance"

Result: the staff below the staff with lyrics will not move up above a distance of approx. 7sp from the staff with lyrics. Again note that this works correctly if the staff above has no lyrics.

In practice, it looks like a staff with lyrics has an inescapable 'wall' approx. 7sp. below it: nothing can go nearer than that.


Comments

I would add that you can set lyric upper & lower margins to 0, and it works as I'd expect for upper margin, but not lower. If I set staff distance to 0, then set upper and lower lyric margins to 0, I expect the lyric to just barely be squeezed in between the staves, but there is always about 4sp extra space below the lyric, and indeed, the total space between staves never goes below 7sp.

Status (old) active patch (ready to commit)

I found the cause:

https://github.com/musescore/MuseScore/blob/cf1da9fb3799f7972a5320d2ff2…

This computes "y" relative to the *top* of the staff rather than the bottom, so it is one staffheight (4sp) too large when comparing to distanceDown. Thus, there is always at least 4sp space below the staff.

The following PR corrects this by subtracting off the staff height from the calculation of "y":

https://github.com/musescore/MuseScore/pull/1094

I plan to add a vtest for this, but only after we also address the default style settings for upper & lower margins.