Closed Tantacrul closed 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.
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.
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?
Sorry, no idea
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
@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.
@wizofaus - agreed, just matching the behaviour of 3 for now would be a big step in the right direction.
"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...
"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:
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.
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).
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.
I'd definitely agree that the dropdown should be disabled if there is only one option.
but v4 doesn't appear to allow this, at least not from this screen. Should it? @Tantacrul
It should do. Check this out:
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)
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.
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'.
Are you saying that happens even with the build from my PR? Because that was something I explicitly fixed...
Yeah, from this one here: https://github.com/musescore/MuseScore/actions/runs/2001010457)
I've recorded a video:
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.
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.
You're the hero we need.
Let me know how you go with the latest build: https://github.com/musescore/MuseScore/actions/runs/2009875795
Just tested it. Both fixes are working perfectly.
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
@RomanPudashkin or @Eism, when you have time to review, this fix is looking good to me from a feature point of view.
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.
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
My apologies, ignore above, was testing the wrong version - confirmed it's fine in actual latest nightly.
Describe the bug See video for the full explanation.
https://user-images.githubusercontent.com/21022311/157869299-c7763456-7895-4059-a422-fdfc497caacd.mov