Grand staff distance excludes tablature and organ pedal staff

• Jan 3, 2019 - 11:39
Reported version
P0 - Critical
S2 - Critical

Grand staff distance works for Piano, but not for the 3 staves of an Organ (it only considers the top 2 staves to belong to the grans staff) and not to any instrument that gets a staff added.
This affects for example also Guitar, normal plus tablature staves, linked or not, which in 2.x were treated as grand staves. but also any other instrument where a staff gets added, irrespective of staff type or whether linked or not.

Additional issue: in 2.x the 3 staff organ have the barlines connecting all 3 staves, on 3.0 these are only connecting the top staves, not sure whether this is intentional


To be clear, though, they are totally unrelated, not even close to the same code. So while it might make sense for someone to look at them both at around the same time, the fixes would be completely independent, should be separate PR's, etc.

Priority P1 - High P0 - Critical

Assuming this wasn't a deliberate design decision to change the definition of grand staff distance (can't imagine why it would be)...

Title Grand staff distance doesn't work properly Grand staff distance excludes tablature and organ pedal staff

This bug has made regular layout of staff/tablature impossible. The "Tab skyline bug" compounds the problem by pushing some tabs even further away from their parent staves. The two issues may not be related codewise, but they both affect the staff-tab distance.

I'm looking at the code, and in fact it is the case that the definition of grand staff has changed. It used to be "staves that are part of the same instrument". Now, it is "staves enclosed by a curly brace". That is, it no longer has anything nothing to do with whether they are part of the same instrument or not. So you can actually force grand staff distance to be applied to any staves you want by applying a curly brace (has to be the innermost of nested braces). Three organ staves will use grand staff if there is a curly brace around all three, and same with standard + tab staff for guitar. But, you can also get two unrelated instruments to be treated as a grand staff simply by adding a brace..

This would presumably be easy enough to change, but I wonder: is this actually desirable? Like maybe we apply it for staves that are either enclosed by a curly brace or that share instrument?

But - if one does use curly braces for two of the same instrument in a score, is it definitely not ever desired to space differently? Which is to say what would it hurt to provide that capability? I guess the answer is, if you use braces both for that and for a piano in the same score, and you want the piano spaced differently but not the other instruments.

We do already have "extra distance" that can solve either problem. It almost seems unnecessary to even have a separate grand staff distance setting. Not that I'm seriously proposing eliminating it. But at least some real-world use cases are better served with extra staff distance, it does seem to me, and I'm not so sure there are cases where grand staff distance is technically needed. So to me, smartest thing is to do what is expected "most" of the time and allow extra staff distance to fix things up the rest of the time. Probably that does mean reverting to the old definition of grand staff, but it's definitely worth thinking about the possibilities here.

Aside from all that, if organ music is normally set up with three fully connected staves (barlines and braces), then indeed we need to fix our templates and/or instruments definitions.

Again, I definitely agree we should honor the old behavior. I'm just asking if the new one - using grand staff distance for curly braces - is worth honoring also.

By the way, I checked in Gould, and the organ layout in 3.0 is actually correct - curly brace for the top two staves, no brace on the bottom staff, and no barline through the bottom staff either. I didn't see where she says anything about spacing of the staves, though (might need to read more thoroughly). Oddly, the change was made long before the release of 2.0, but apparently there was a bug in the code that reads the file that preventing the barline from breaking where it should. I guess that bug is now fixed, so we are finally seeing what was supposed to be there all along.

I am a little afraid that if we change the behavior of grand staff distance back to the old, organists will complain and say they want the top two staves to be spaced differently than the third, but I guess the answer will be, those people will need to use "Extra staff distance" to get that effect. Because I am thinking that use case is less common than the others for which people have been relying on the old behavior.

Status active PR created

This just reverts the change in definition of grand staff, so it's back to the 2.3.2 version (staves within the same instrument). Curly braces are no longer relevant, although I left the code in place (ifdef'ed out) in case we want to revisit this and maybe make it a brace or style property.

The PR also implements scaling of grand staff distance relative to staff size as per #284345: Gap between small staves is too large

Status PR created active

Grand Staff distance was useful in MuseScore 2 because it provided a quick way to avoid most collisions between staves. However, this is no longer necessary in MuseScore 3 thanks to automatic layout, so perhaps we no longer need a "grand staff distance" that is separate to "staff distance" any more?

Since layout is automatic, staff distance setting is only really relevant to empty staves and staves with few ledger lines. I think it looks odd if empty staves are separated by differing amounts (unless they are small staves), and this is true regardless of whether they form part of a grand staff. No doubt others agree since the default is to use the same distance for both. People can make use of the new "extra space above staff" property to add extra space where they think it is needed on as case-by-case basis (e.g. to match a particular source edition), and this could be seen as a replacement for "grand staff distance".

For small staves see: #284345: Gap between small staves is too large

Status active PR created

Posts crossed. BTW, if we want to keep "grand staff distance" then I prefer the MuseScore 2 behaviour, but I have no references to back this up.

My sense is the most common use for grand staff distance was to allow certain sets of staves - the two staves of a piano part, a standard and tab staff for guitar - to be closer together than other staves. This probably hasn't been strictly necessary since 2.0 introduced extra distance above staff (it's hardly "new") which can indeed be negative, but it's a convenience for those two common cases that to me has nothing to do with collision avoidance and hence totally worth keeping around.

Just a note that even without this fix, the "extra distance" setting already allows you to have whatever spacing you want. So I'm not understanding how the bug "made regular layout of staff/tablature impossible" 0 at most, it just changed the way you go about getitng a particular result. And since the default setting for grand staff distance is the same as for staff distance, it wouldn't even ffect "normal" score,s just ones in which the grand staff distance was altered for some reason.

I mentioned this because I still want to be sure we all understand the full scenario here and are in agreement with the change. If there is truly something I am missing - some respect in which using "extra distance" does not accomplish the goal just as well as changing "grand staff distance" does, I need to know so I can consider whether more changes are needed. So if someone has an example of a score they can't get to look the way they want using "extra staff distance", please provide it.