Adding new staff to existing instrument does not appear in linked part

• Apr 20, 2015 - 21:03
Reported version
P2 - Medium
S3 - Major

1. Create new score with several instruments.
2. Go to File -> Parts, choose "New All."
3. Go to Edit -> Instruments, click one of the existing instruments on the right, choose "Add Staff."
4. Close Instruments window. Go to the part for the instrument you added a staff to.
Expected result: the staff will be present in the part. Actual result: it's not there.


Well, we might decide we *want* to support parts that don't have all the staves as the instruments they are drawn from. There could well be use cases where people would want this. If so, then presumably we'd add a way to link the newly added staff.

But another possibility is we simply disallow adding a staff to an instrument involved in a part.

If you want that, then it makes more sense to hide a staff in the part. But that's beside the point. Whether a feature of that sort is added or not, it still should be the case that adding a staff to an instrument should be reflected in both the score and the part for that instrument.

I can see why it might seem that way given this particular use case, but this is not the only use case for linked staves or for linked parts. In fact, there really is no concept of "the part for that instrument". That instrument may or may not have a part at all; it could also potentially be contained within several parts.

What I am saying is, it's more complex that it may first appear. And realistically, that complexity might lead us to simply disallow you from adding staves to instruments that are involved in parts (that's actually how I personally lean). Right now it's all just still an open question.

By "the part for that instrument," I mean any part in which the first staff of the instrument already appears. That, at least, is not more complex than, say, dynamics.

As for the other idea (disabling adding staves to instruments appearing in linked parts), that sounds like it would be far more complex to implement—going from "disable adding staves" to "disable adding staves if parts have already been created" to "disable adding staves only to instruments appearing in linked parts" adds a new layer of complexity each time. Also, it would be a huge annoyance—the only way to add a staff would be to delete the linked part to enable the change, and then re-create it afterward with all formatting lost.

Staves and dynamics are nothing alike in terms of how they and their linking are implemented. Adding a staff is *not* as simple as adding a dynamic - not even close. That's why I say this is far more complex than you realize.

And yes, I realize it would be an occasional nuisance to have to delete and recreate part in order to add a staff to an instrument. But this happens essentially never in the normal course of events. Most instruments have one staff, period. Pianos have two and have that from the beginning. Adding staves to an existing instrument - and doing it so late in the game that parts have been generated - is something I will bet 99% of users will never do in the lifetimes, and the 1% who do will still do it only exceedingly rarely. If it saves months of reimplementation work that could have been spent fixing bugs or developing features that actually matter, then I think it would have been well worth it. Again, it's all about the complexity of the problem, and right now, it just hasn't been studied sufficiently.

So I am not trying to say this wouldn't ever be fixed to work the way you describe. Just trying to get you to underdtand that, again, it is not that simple.

Title Crash on adding new staff to existing instrument with linked parts Adding new staff to existing instrument does not appear in linked part

The issue with the staff not appearing still persists. Since this is not a crash anymore, perhaps we should revert the title back?

Workaround No Yes

The workaround is to simply recreate the part by deleting it and readding in the Part dialog. By expanding the instrument in the right bottom of the part dialog one can already see that the voices are present but hidden, so a workaround exists.
It should be possible to find a permanent solution by adding the staffs or in worst case recreate the referring excerpts.

To be honest, I don't think it is necessary to provide a permanent solution. The creation of a linked part is intended to be a link at that time. I can imagine a more scenarios where I don't want this additional staff to show up in my linked part. In my opinion it would be more helpful to have the ability to hide these additional staves in a part which is created after the insertion of an additional staff.
This is not supported yet, but might be a better idea. If most of you think it is more important to have the staff immediately showing up this can be achieved by some hacks, but it is not intended to change anything on the linked parts once they are created.

I personally think that a proper solution not involving regenerating the part from scratch (and thus possibly losing part-specific formatting) cannot be really easily achieved without some major rework of the code related to parts generation. Though this will be anyway good to do I don't know whether it is so important to do it right now.