Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add setting to control empty stave visibility for grand stave instruments #21046

Open
bkunda opened this issue Jan 17, 2024 · 3 comments
Open
Labels
community Issues we would like the community to address feature request Used to suggest improvements or new capabilities task UX/interaction

Comments

@bkunda
Copy link

bkunda commented Jan 17, 2024

Your idea

Change the default behaviour when hiding empty staves in grand stave instruments so that empty staves are not hidden, and provide a discoverable control to hide these empty staves if desired.

Problem to be solved

Currently, toggling "Hide empty staves" hides empty staves in a grand stave instrument, which is rarely desired. MuseScore has controls to change this, but they need to be applied on a per-stave basis, and are located in an extraordinarily undiscoverable place (Stave/part properties > Hide when empty > Instrument).

Prior art

Two aspects are required for this task:

  1. Default behaviour for grand stave instruments (any instrument with a two bracketed staves) should be that empty staves are not hidden when "hide empty staves" is selected.
  2. The following additional checkbox setting should be added to Properties > Score appearance > Empty staves (checked by default).
Hide-staves-tweak-v1

Additional context

@oktophonie what is your opinion on the effect of this on three-stave instruments (e.g. organ)?

@bkunda bkunda added community Issues we would like the community to address task UX/interaction labels Jan 17, 2024
@muse-bot muse-bot added the feature request Used to suggest improvements or new capabilities label Jan 17, 2024
@oktophonie
Copy link
Contributor

Organ's an interesting one. In principle I think the two manual staves should be treated as the 'grand staff' (as two piano staves would be); the pedal stave might be hidden if 'Hide empty staves' is turned on.

But this raises some questions:
a) we don't have a real definition for what a 'grand staff' is; a piano is just an instrument that happens to have two staves (and a { brace) but you could just as easily divide your Violin I instrument into two or more staves and put a { on it. And we'd want different hiding behaviour there than for a keyboard instrument.

b) If the 'Hide when empty' settings currently available in Stave/part properties continue to exist, they continue to allow for per-instrument settings, so they may need rethinking so that they interact properly with the new global setting.

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Jan 17, 2024

Bracket or not, every time an instrument uses more than one staff it'd be a grand staff as far as MuseScore is concerned (unless it is a linked staff, but in that case both would be empty resp. non-empty at the same time anyway)

@MarcSabatella
Copy link
Contributor

The case of people wanting to add a temporary second staff to a normally single-staff instrument was one we were specifically concerned with back when these options were added. Same for piano music that occasionally expands to three staves. Also things like lead sheets, ossia, or educational worksheets where some examples are one staff and others two. These are all cases where you might want some staves hidden when empty even though you aren't hiding empty staves globally, and it's why the per-staff settings were added way back when.

It definitely would have been better if piano & similar instruments had defaulted to still show the empty staff within the grand staff and you needed to explicitly override that to get the current beavhior. That is, "auto" should probably have behaved as "instrument" does now, and there would instead have been a setting "single" that does what "auto" does now.

I do have an idea for how we could improve the default situation in a way that wouldn't eliminate the need for per-staff settings but would cover a lot of cases without them.

What if the default rule was that empty staves within grand staves are shown by default only for staves that are actually defined as part of the instrument? That is, if the instrument definition itself calls for a grand staff, it automatically sets "hide when empty" to "instrument" (or however we redefine the per-staff options) for those two staves, but if you add a third staff, it's set to "auto" (or new equivalent). And if you add a second staff to your violin or whatever, it also is left at auto.

This would allow a lot of cases to be handled correctly with just the global "hide empty staves" toggle. You'd still sometimes need the explicit override, and I think it also should be exposed in the Properties panel and not hidden in the dialog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community Issues we would like the community to address feature request Used to suggest improvements or new capabilities task UX/interaction
Projects
Status: Available
Status: No status
Development

No branches or pull requests

5 participants