Adding and then removing a system break does not restore the score to its previous state

• Aug 13, 2020 - 01:51
Reported version
3.4
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
active
Regression
No
Workaround
Yes
Project
  1. Load the attached score. Note that it has eight measures, all on one line.
  2. Place a system break after the fourth measure. Now it has four measures on each of two lines.
  3. Remove the system break. I would expect the score to return to the its initial state, as in Step 1 above. Instead, the top line has five measures and the second has three.
  4. Optional: Save the score.
  5. Close and reopen the score. It will have returned to its initial state.

This may be a related scenario:
1. Load the attached score.
2. Select all measures and Increase Layout Stretch until it fills four lines of two measures each.
3. Reset Layout Stretch.
4. Instead of going back to one line, it goes to two lines.

Another:
1. Load the attached score.
2. Select all measures and Increase Layout Stretch until it fills four lines of two measures each.
3. Save the modified score.
4. Close and reopen the score. It will no longer be four lines but rather two.

Attachment Size
reload_needed_example.mscx 16.44 KB

Comments

I would be willing to bet the overlapping fingering elements are the trigger here, and that at some level this is related to #289946: Layout shift after load in score with fingering.

I believe the initial layout is incorrect, that the algorithm should not in fact be allowing the notes to apce so closely that the fingerings need to "staircase" like that. But I think it might be a kind of fundamental flaw in how we handle certain fingering types. We save them until later in the layout so we can "stack" them vertically on chords, but this means they cannot really affect note spacing, which is done earlier.

The trick I think will be to figure out how to trigger the correct layout - the ine you get after adding then deleting the break, for example - right off the bat.