Improve "Hide Empty Staves" / "Don't hide empty staves in first system" Usability
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"
Comments
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 I prefer the logic of the 3… by Jm6stringer
Yeah, that works too. Both methods allow for exclusive choices. Either of these methods are an improvement over the current.
In reply to Yeah, that works too. Both… by Blaarghinator
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 Could also make sense 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 Could also make sense 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 The "never" option for "hide… by Marc Sabatella
BTW, we should totally also have a "not empty" element you can add from the palette, to explicitly mark a measure not empty so you can prevent it from being hidden. Or some other way of forcing an empty staff to show on certain systems, without resorting to invisible/silent notes.
In reply to BTW, we should totally also… 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 BTW, we should totally also… by Marc Sabatella
There is now a feature request for this at #313596: New Item: Part Visibility Toggler
In reply to BTW, we should totally also… 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 For my part, I have found it… by marty strasinger
For an instrument with multiple staves, right click each staff and choose staff properties. Next to Hide when empty is a dropdown. Set this to instrument and it will only be hidden when the entire instrument is empty. Remember to do this on both staves if you want it to apply to both.
In reply to For my part, I have found it… 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.
This was already improved in https://github.com/musescore/MuseScore/pull/5435. It uses a QGroupBox to put the second option inside. It also adds another option related to the visibility of single-staff brackets in the group box.
In reply to This was already improved in… by Howard-C
To resolve #296075: Allow user to choose whether or not hide brackets which span to a single staff when empty staves are hidden