[Trunk] Tempo Text not preserved after deleting bars, instruments or staves
Also affects instruments and staves.
1. Open multi-instrument score.
2. Remove instrument or stave that Tempo Text wasn't applied to (you may also delete the bar it was applied to).
3. Play.
Result: BPM becomes the default.
Using MuseScore 2.0 Nightly Build (5212) - Mac 10.6.8.
I'm unsure how this should be handled in some cases.
One would think it should attach to another instrument/stave when it is deleted, but what if there's no instrument featuring a note/rest at the same point?
I just came across the same problem. I deleted the instrument containing the tempo marking (I guess it was the top line, I'm not sure) and the tempo appears to have reverted to some default setting.
Tempo is really a global property of the score and should not be attached to only one staff. However I understand that there may not be a way of implementing that. If it must be implemented by text attached to a staff, how about this suggestion? (I'm making it up as I go...)
* Tempo marks are attached to every staff at the same point in time, but are only displayed on the top-most staff.
* Any change to the tempo, or adding a new tempo marking, affects all staves but is still only visible on the top one.
* If you delete any staff, the tempo is preserved in all others but will still only show at the top.
* If you delete a tempo marking, it's deleted from all staves.
* If you delete a bar containing a tempo marking, it gets attached to the start of the next bar.
* If you create parts, the tempo markings show on all parts because each part only contains one staff (and is therefore the top staff).
* chen lung's example is an interesting one. It's not clear how to handle it. What does a tempo change mean if all parts are in the middle of a long note or rest at that point in time? Could the change simply be moved to the start of the next note or rest?
* These rules apply to other tempo-related markings such as rit, accel, a tempo, etc. These affect all staves just like a tempo marking would. You wouldn't expect to add these individually to every staff.
I can't help thinking this is all very complicated to implement. Would it be a good idea to have a secret "hidden staff" to which all these global properties attach? It might contain only rests, which could be divided into time segments as necessary to position the markings where they're needed. Tempo markings and "a tempo" from the hidden staff would appear on the top-most normal staff. "rit" and "accel" from the hidden staff would appear on all staves. Deleting any normal staff wouldn't make any difference to the tempo changes, nor would deleting any notes or rests.
Hmmm... I just realised that deleting the staff with my tempo marking also deleted my voltas! The volta would be another candidate for the hidden staff idea.
Comments
An issue I encountered recently made me realise why it is only affecting one score:
#3510: Time signature disappears upon deletion of entire bars
There maybe other removed/changed items to consider when fixing this.
Also affects instruments and staves.
1. Open multi-instrument score.
2. Remove instrument or stave that Tempo Text wasn't applied to (you may also delete the bar it was applied to).
3. Play.
Result: BPM becomes the default.
Using MuseScore 2.0 Nightly Build (5212) - Mac 10.6.8.
Also see: #13582: Tempo Text disappears after changing time signature
I'm unsure how this should be handled in some cases.
One would think it should attach to another instrument/stave when it is deleted, but what if there's no instrument featuring a note/rest at the same point?
I need opinions.
I just came across the same problem. I deleted the instrument containing the tempo marking (I guess it was the top line, I'm not sure) and the tempo appears to have reverted to some default setting.
Tempo is really a global property of the score and should not be attached to only one staff. However I understand that there may not be a way of implementing that. If it must be implemented by text attached to a staff, how about this suggestion? (I'm making it up as I go...)
* Tempo marks are attached to every staff at the same point in time, but are only displayed on the top-most staff.
* Any change to the tempo, or adding a new tempo marking, affects all staves but is still only visible on the top one.
* If you delete any staff, the tempo is preserved in all others but will still only show at the top.
* If you delete a tempo marking, it's deleted from all staves.
* If you delete a bar containing a tempo marking, it gets attached to the start of the next bar.
* If you create parts, the tempo markings show on all parts because each part only contains one staff (and is therefore the top staff).
* chen lung's example is an interesting one. It's not clear how to handle it. What does a tempo change mean if all parts are in the middle of a long note or rest at that point in time? Could the change simply be moved to the start of the next note or rest?
* These rules apply to other tempo-related markings such as rit, accel, a tempo, etc. These affect all staves just like a tempo marking would. You wouldn't expect to add these individually to every staff.
I can't help thinking this is all very complicated to implement. Would it be a good idea to have a secret "hidden staff" to which all these global properties attach? It might contain only rests, which could be divided into time segments as necessary to position the markings where they're needed. Tempo markings and "a tempo" from the hidden staff would appear on the top-most normal staff. "rit" and "accel" from the hidden staff would appear on all staves. Deleting any normal staff wouldn't make any difference to the tempo changes, nor would deleting any notes or rests.
Hmmm... I just realised that deleting the staff with my tempo marking also deleted my voltas! The volta would be another candidate for the hidden staff idea.