Integrate instrument and staff type changes

• Feb 26, 2019 - 17:45
Reported version
3.0
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

This is critical relative to the staff-type change functionality itself. Changing staff types is almost useless at this time because it does not integrate with the instrument change function.
For example, to get to the number of strings from a tablature Staff pointer it would look like this:
staff->part()->instrument(tick)->stringData()->strings()
All of the advanced style properties are stored as Instrument and InstrumentTemplate class members, not class Staff or StaffType. In 99% of all real world staff type changes, the reason for changing staff types is a simultaneous instrument change.
The staff-type change functionality must be integrated with the instrument change functionality for it to make sense - from a design perspective, forget about the low level code details. I am not proposing a specific design, but this issue can be used as the place to discuss a new design.


Comments

Title v3 Change Staff Type design is flawed Integrate instrument and staff type changesI'm not sure
Severity S3 - Major S5 - Suggestion
Priority P1 - High

I'm not so sure the correlation is anything like 99% - I see staff type changes used for purely notational purposes, and the vast majority of instrument changes I see require no staff type change. But it's obviously true for the special case of for changes between pitched and unpitched percussion or tablature. In any case, definitely worth looking at improvements.

In reply to by Marc Sabatella

Title Integrate instrument and staff type changes Integrate instrument and staff type changesI'm not sure

I'll rephrase: Instrument changes certainly do not require staff type changes. But staff type changes might well require an instrument change at the same time. In the cases where a staff-type change does require an instrument change, the current code does not handle it.

Title Integrate instrument and staff type changesI'm not sure Integrate instrument and staff type changes

I messed up Jojo's title change. So I'm fixing it.