musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.31k stars 2.66k forks source link

Too many 'Stave Types' displayed in the Instruments Panel compared to MS 3.6 #10780

Closed Tantacrul closed 2 years ago

Tantacrul commented 2 years ago

Describe the bug See video for the full explanation.

https://user-images.githubusercontent.com/21022311/157869299-c7763456-7895-4059-a422-fdfc497caacd.mov

  1. Step one would be to hide any options not displayed in MuseScore 3.6 2 Step two is to also remove any other redundant options (which I'm not 100% sure about yet. There may be reasons there is a 'Standard' and a 'Custom Standard' staff definition for each instrument but I'm not sure what it is.
Tantacrul commented 2 years ago

Again @wizofaus - if you're game, this one might be up your alley. It could be the simplest fix ever, but there might be more thinking required. Dunno.

wizofaus commented 2 years ago

Well it doesn't work properly in V3 - the options "Custom Standard"/"Custom Tablature"/"Custom Percussion" staff do nothing at all as far as I can tell, for most instruments it displays as a standard staff (and when you return to the instruments dialog it's ignored what you've selected). Even if you select something like an unpitched percussion instrument you get a different set of staff types, but again those 3 don't work. If you select "Classical Guitar (tablature)" as an instrument you get a lot more options, including Standard, but again "Custom Standard/Tablature/Percussion" don't work. So yes, I think this needs a good deal more thought... @Tantacrul However, I think a fix that ensures only relevant staff types are shown for each instrument (which is what v3 tries to do, based on the "staff type group") should be relatively straightforward, though it does appear to require a qml change, as at the point it loads the list of staff types the correct staff id hasn't been set yet.

Tantacrul commented 2 years ago

I wonder if @Jojo-Schmitz, @jeetee, @MarcSabatella or @shoogle could shed any light?

What are the "Custom Standard"/"Custom Tablature"/"Custom Percussion" options intended to do?

Jojo-Schmitz commented 2 years ago

Sorry, no idea

jeetee commented 2 years ago

I believe they prevent some reset-behavior when a user changed Advanced Style Properties of a normal staff of each respective type. See also https://musescore.org/en/node/279897 for a bit of context

Tantacrul commented 2 years ago

@oktophonie, would be interested to get your thoughts on this feature: "Custom Standard"/"Custom Tablature"/"Custom Percussion" in general, since they appear to be options that affects engraving settings.

Are they valuable do you think? Most certainly they are likely to be incomprehensible to probably everyone bar a handful of users.

Tantacrul commented 2 years ago

@wizofaus - agreed, just matching the behaviour of 3 for now would be a big step in the right direction.

wizofaus commented 2 years ago

"Custom Standard"/"Custom Tablature"/"Custom Percussion" don't appear in 4 currently, there doesn't appear to be any point in adding them until we understand what they're supposed to do. But the next problem is that the default staff name for, say, Acoustic Guitar (Tablature) is still "Treble clef 8va bassa" which is just confusing...

image

Tantacrul commented 2 years ago

"Custom Standard"/"Custom Tablature"/"Custom Percussion" don't appear in 4 currently, there doesn't appear to be any point in adding them until we understand what they're supposed to do. But the next problem is that the default staff name for, say, Acoustic Guitar (Tablature) is still "Treble clef 8va bassa" which is just confusing...

Oh, Yuk. Never noticed this before:

wizofaus commented 2 years ago

Yes I fixed the latter problem. But I'm not sure what should happen with the staff name if you change the type, in fact currently these staffnames are generated automatically based on the clef type, but don't seem to work as expected for tablature.

wizofaus commented 2 years ago

Ok I've fixed that too - the staff name is now properly generated from the actual clef type, which is determined by the staff type. But there's a new problem - in v3 you can add multiple Tablature staves to a Guitar part, but v4 doesn't appear to allow this, at least not from this screen. Should it? @Tantacrul And actually v3 does allow choosing either "Standard" or any of the tablature staves for Guitars, so the fix I made to filter the list of staff types isn't quite right. In fact v3 has quite complex logic to fill out the list of available staff types, even going as far as not allowing tablature staff types with more strings than the instrument has (which does kinda make sense).

wizofaus commented 2 years ago

Ok I've now implemented the logic as per v3. Instruments of type "unpitched percussion" (= using a drumset) only allow the 3 percussion staff types, whereas all others allow the "standard" staff type, and instruments that have more than 0 fretted strings also allow the tablature staff types that don't have more tab lines than the instrument's string count. You can change, e.g. a guitar from back and forth between "standard" and the supported Tablature types, and the staff name should update appropriately. The only slightly clunky thing is that now most instruments ONLY allow "Standard", yet still have a drop-down, which arguably should be disabled in that case.

Tantacrul commented 2 years ago

I'd definitely agree that the dropdown should be disabled if there is only one option.

Tantacrul commented 2 years ago

but v4 doesn't appear to allow this, at least not from this screen. Should it? @Tantacrul

It should do. Check this out:

https://user-images.githubusercontent.com/21022311/158967469-a82a6ecd-883d-4df8-8127-a725d6a91c5d.mov

wizofaus commented 2 years ago

Yes I've restored that ability. You can try it out with the build from that PR (mac one is here: https://github.com/musescore/MuseScore/actions/runs/2001010457)

Tantacrul commented 2 years ago

Just tested. Man, that is so much better! And the updating naming is a big improvement too. Thanks :)

I do agree (now that I see it) that when there are no options in the dropdown, we should probably disable it.

image
Tantacrul commented 2 years ago

Oh, another thing I just noticed. Not sure if this is a simple fix or not but when I save the file, close MS4 and reopen it, the drop downs all revert back to saying 'Standard'.

image
wizofaus commented 2 years ago

Are you saying that happens even with the build from my PR? Because that was something I explicitly fixed...

Tantacrul commented 2 years ago

Yeah, from this one here: https://github.com/musescore/MuseScore/actions/runs/2001010457)

I've recorded a video:

https://user-images.githubusercontent.com/21022311/159117620-ac0163dd-770b-4a28-afe2-429a4c40920e.mov

wizofaus commented 2 years ago

Ah ok, yeah, can reproduce that. In fact it seems the "type" you select there isn't actually saved as part of the score file, nor was it in v3. Nor can I see an obvious way of reconstructing it from other information, so we might have to change the file format to ensure it is saved - but somehow it is working ok in v3, so I'll try to figure out what it's doing.

wizofaus commented 2 years ago

Ok figured it out, v3 is indeed trying to find the best matching preset based on the other staff properties. It's still true now that it will show "Standard" if the staff type properties don't match any of the presets, but I think we can live with that. Have also ensured dropdown is disabled unless there's at least 2 items to choose from.

Tantacrul commented 2 years ago

You're the hero we need.

wizofaus commented 2 years ago

Let me know how you go with the latest build: https://github.com/musescore/MuseScore/actions/runs/2009875795

Tantacrul commented 2 years ago

Just tested it. Both fixes are working perfectly.

wizofaus commented 2 years ago

I believe they prevent some reset-behavior when a user changed Advanced Style Properties of a normal staff of each respective type. See also https://musescore.org/en/node/279897 for a bit of context

Yes, I can understand if you've customized the staff so it doesn't match any preset then logically it could show "Custom " or something similar, and provided you don't change it, it won't modify your customizations. But in v3 they're shown even for non-customized staves, and do nothing if you select them. I'd think it would make just as make sense to show the combo with no current selection in such a case though, which is a change I could make for v4 if needed.

Tantacrul commented 2 years ago

@RomanPudashkin or @Eism, when you have time to review, this fix is looking good to me from a feature point of view.

Tantacrul commented 2 years ago

I'm changing this to a P1, since we keep getting issues about it. Also, it is making it really hard to create linked staves that make sense.

Not sure if @wizofaus's fix can be merged or not but the issue is a real pain.

wizofaus commented 2 years ago

I just tested the latest nightly build and it still looks wrong to me - e.g. for the "Lead Vocal" part in a score created from the Rock Band template, when changing the staff type, it shows ALL possible types, including Perc./Tab etc. My PR did address this, but apparently never got merged. @Tantacrul

wizofaus commented 2 years ago

My apologies, ignore above, was testing the wrong version - confirmed it's fine in actual latest nightly.