Improve "Hide Empty Staves" / "Don't hide empty staves in first system" Usability

• Feb 24, 2020 - 18:10

Currently, it is confusing that two separate checkboxes affect the same functionality as one would think "Hide Empty Staves" means "Hide all empty staves", but it really means "Hide all empty staves if this other checkbox is checked".

Proposal: Create a dropdown such that the text reads: Hide empty staves [all, none, except first system]

"All" is the same as "Hide empty staves" + "Don't hide empty staves in first system UNCHECKED"
"None" is the same as if "Hide empty staves" is unchecked"
"Except first system" is the same as "Hide empty staves" + "Don't hide empty staves in first system CHECKED"


I prefer the logic of the 3 exclusive choices. Rather than a dropdown, that's what radio buttons do:


(Comparable to the 'Swing' choices)

In reply to by Jer Roque

Either of these methods are an improvement over the current.

I agree. This way, each choice has no dependencies on some other checkbox.
I only considered radio buttons as needing fewer clicks. (A drop down list must first be expanded, then a choice can be made.)

Regarding Marc's comment below about the 'Staff Properties' setting, there seems to be the same confusing functionality you pointed out in your initial post. That is, a dependency on the state of some other checkbox. (That being the "Hide empty staves" setting in Format → Style → Score.)

Here's the Handbook entry explaining 'Hide when empty' dropdown choices in Staff Properties:

Auto (default): The staff will be hidden if it is empty and "Hide empty staves" is set.
Always: The staff will be hidden when empty, even if "Hide empty staves" is not set.

(Huh? ...That's another head scratcher.)
Unifying the settings from both Staff Properties and Style -> Score could probably eliminate "Auto (default)"

Additionally there's another checkbox in Staff Properties - 'Do not hide if system is empty' - which is explained as:
Never hide this staff, even if the entire system is empty. This overrules any "Hide empty staves" setting in Format → Style ... → Score.
So, this checkbox seems to be no different from the 'Never' in the "Hide when empty' dropdown list for which the handbook states:
Never: The staff will never be hidden when empty.

See the image in my post below to visualize.

Could also make sense to unify it with the "Hide when empty" (Auto / Always / Never / Instrument) setting in Staff Properties. For instance, the style option could say "Hide empty staves within systems", the radio buttons or dropdown menu could say Never / Always / All But First System, etc. Or the staff property could be reworded as well.

In reply to by Marc Sabatella

Could also make sense to unify it with the "Hide when empty" (Auto / Always / Never / Instrument) setting in Staff Properties.

Oh boy... :-)
I, too, agree that the 'Hide when empty' in Staff Properties could be improved.
Below is an image combining the 2 locations for the empty staves settings, along with the (somewhat confusing) handbook explanations for the Part Properties settings.


Seems like some logical streamlining is needed overall. Any ideas?

In reply to by Jm6stringer

The "never" option for "hide when empty" is exactly what it says - this staff won't be hidden when empty, regardless of what you do with the global style option. It's a pretty important option to have.

The "Do not hide if system is empty" box is kind of unrelated. It's there to allow you to specify one staff as the "token visible staff" to display if all staves are in fact empty. Used to be we displayed a big nothing if a system was completely empty. Now, we default to still showing the top staff even though everything is empty. This checkbox allows you to designate a different staff to show instead. My guess is no one has ever found a use for this, but whatever, it's there.

In reply to by Marc Sabatella

Sounds like the music-staff equivalent of the Non-breaking Space entity in HTML ( ) or the non-breaking space (~) in TeX/LaTeX, et cetera. Perhaps this same solid-yet-transparent object could be used to anchor slurs or ties, which would be helpful in resolving the complicated "let vibrate" notation problem. Perhaps it defaults to having zero width (unlike a 'normal' non-breaking space), but could be given a non-zero width to facilitate getting other elements to be somewhat out of position in a way that would automatically adjust if the measure size changed.

It's different from an invisible note in that it does not count as having any duration, however much space it might occupy.

In reply to by Marc Sabatella

For my part, I have found it annoying to have to mark piano or harp parts with invisible/inaudible notes so that both clefs are showing when notes are only present in the other stave when Hide Empty is selected. Any way to automate or reduce that burden would be helpful.
Happy Holidays to all here, and especially the volunteers who man the trenches that keep this website going!

In reply to by marty strasinger

A little history:

In some older versions, the default behavior was that piano would either show both staves or neither. At some point - maybe 2.0? - this was changed to it would only hide the empty staff. That's great for some situations (jazz charts, etc) but not others (orchestral scores, etc). So for 3.0, we added the "Instrument" option under "Hide when empty" in Staff/Part Properties, so you can get all-or-nothing behavior when you want it.

Do you still have an unanswered question? Please log in first to post your question.