Hide empty staves should retain at least one staff per system (especially in parts)

• Apr 4, 2014 - 17:27
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Windows 7, GIT commit: 6c5b016

1) create new score for piano with enough measures to require at least two systems
2) Hide empty staves

Result: second and subsequent systems disappear entirely
Expected result: one staff (top, I guess) remains

The use case I care about is parts, not scores. A score would not normally have any entirely empty systems. But parts easily might. As it is, things work as expected for single-staff parts like flute; only multi-staff instruments like piano will show the problem.

Note that while one could work around the problem by planting invisible elements on the otherwise empty staves, this would break multimeasure rests.

Elsewhere in #10217: Add option to preserve all staves of multi-stave instrument, I proposed a staff property to exempt a staff from hiding. By applying this to the top staff of the piano instrument in the part, I could get exactly the effect I want. That would be an acceptable alternative to automatically retaining the top staff.


Comments

Sure, I don't want the system hidden. But thinking of the specific case of a piano part, I'd want to have just one of the empty staves shown rather than both. After all, it would seem weird that completely empty systems would take up more space (two empty staves shown) than system in which there is content (one staff with content shown, the other empty staff hidden).

Actually, just setting a property on the top staff to never hide it does not do what I want - then the top staff would still be shown even if it is empty but the bottom staff is not.

While an option to exempt a staff from hiding might still be nice, it's not the solution to this particular problem. I still want the top staff hidden if the bottom has content, and vice versa. I just want one of the two - probably the top - to be retained if *both* are empty.

There is now a "Never hide" option in staff properties. As mentioned, one could use this to prevent all staves from being hidden - just select one staff you always want present. In practice, this might well be sufficient. But in theory, there would still be cases where this is not ideal, as the staff you choose to set "Never hide" on might be one you don't mind having hidden if *other* staves are non-empty.

However, if in addition to "never hide", we had something like "show if all staves are empty", that would accomplish the goal completely.

I am considering the "Never hide" option a partial solution, one that makes me less concerned about this for 2.0.