Entering local time signature causes score corruption if incompatible with global time signature

• May 12, 2020 - 12:35
Reported version
3.4
Type
Functional
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

Referencing the already provided score,
Starting with all instruments in the 9-8 time signature in the first partial measure, and the Timpani showing 3-4 time signature in the 2nd measure-
(FYI the first measure has had it's duration changed using Measure Properties to "Actual" 1-8 time signature.)
From the Time Signatures palette, CTRL+Drag the 3-4 time signature onto the Timpani first measure time signature.
Result: MS accepts the change, Timpani now has 3-4 t.s. in the first measure. The other staves remain at 9-8.
Save the score and re-open it: an error message window presents, indicating the corruption in the Timpani line- Click "Show Details", result: "Measure 1, staff 25 incomplete. Expected: 1/8; Found: 3/16"
Please see forum topic here:
https://musescore.org/en/node/305299
Acceptable fixes would include allowing the local time signature change but somehow avoiding the corruption OR disallowing the change with a pop-up window and message indicating the change is not permitted.

Attachment Size
Wagner makes me want to invade Poland.mscz 101.04 KB

Comments

I just encountered another similar corruption in the same score and will update the Issue Tracker accordingly.
Action: on a score that opened with no error messages, at Measure 99 CTRL+Drag a 9-8 time signature from the Palette to the Oboe I part, and repeat for the Oboe II and Oboe III parts. (This is to add local time signature changes required in the source score.) MS accepts the changes. Save and close the score.
Please note that at Measure 99, the Oboes had been previously changed from 9-8 global to 3-4 local time signatures at Measure 91. The action here was returning them to the previous 9-8 time signature.

Result: when the score is re-opened, a corruption error message occurs.
Summarizing the Details of the corruption message:
Measure 100, staff 8 incomplete. Expected: 9/8; Found: 27/16
Same for measure 100 staves 20 and 21.
Measure 101, same error for staves 8, 20 & 21
Measure 102, same error for staves 8, 20 & 21

Please note that previously (Measure 91) a large number of other local time signature changes were made, as per the source score. The easiest way to accomplish was to add a Global 9-8 time signature at that measure, (since the Timpani was being changed from 3-4 to 9-8 at the same place that the Oboes were changed from 9-8 to 3-4) and then change the Oboes.

The attached "measure 99 key change.png" shows the measure where the Measure 99 key change takes place and also includes the IMSLP document number should someone need to access the complete source score.

Creating a new score with an initial t.s. of 9-8, I added various new elements until Test 14 produced a corruption message very similar to what we've been seeing with the score that originated this issue.
Test 13, no corruption message; Test 14 corruption message. The message is-

"For measures (17 through 41), the message is "staff 2 incomplete. Expected: 3/4; Found: 2/2"

The difference between the two is that at Measure 17, the upper piano parts upper staff was changed to 3-4 while the lower staff was left at 9-8.

I was able to (with a large amount of effort) remove the score corruptions and time signature issues. After deleting the staves that had corruption warnings when the score is loaded, I created new staves to replace the deleted ones and re-populated the content.
The work-around was- When it is necessary to change the local time signature for a limited number of staves, it is best to continue with note entry on the staves that do not require a time signature change and do not make the local time signature change at that point. Once several pages of content have been entered on lines in the original TS, then one can go back to where the local time signature change needs to be made, make the local TS change, and continue with note entry in the new TS lines.
My theory (I don't know if this makes sense from a coding perspective) is that when a local TS change is made, there must be enough "free space" (or "tics"?) after that measure to allow MS to completely implement the TS change. If the score ends (no new empty measure available) too soon, MS isn't able to completely implement the local TS change.