Surprising initial result when manually adjusting an automatically-adjusted rest

• Dec 8, 2020 - 17:13
Reported version
3.5
Type
Functional
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
active
Regression
Yes
Workaround
No
Project

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.5.2.311459983, revision: 465e7b6

Something has gone wrong with the behaviour of rests when repositioned.

  1. Open the attached file, select the whole measure rest in voice two (which appears too low), and click the keyboard UP arrow ONCE.
    Expected result: The rest moves up by 1 sp.
    Actual result: the rests suddenly jumps onto the staff.
  2. Reset the rest and click the keyboard DOWN arrow ONCE.
    Expected result: Rest moves down by 1 space.
    Actual result: Rest moves upwards instead!

The same problem is apparent if using the offset controls in the Inspector.

Attachment Size
rest_placement.mscz 7.29 KB

Comments

Title Positioning behavior of rests has gone wrong Surprising initial result when manually adjusting an automatically-adjusted rest
Severity S3 - Major S4 - Minor

This is currently by design, albeit admittedly unexpected. There is a previous discussion of this but I don't see an open issue, so I'm leaving this open for now.

The default position for a voice 2 measure rest is hanging from the bottom line. It is showing farther below the staff in order to avoid collisions. The collision avoidance algorithm deliberately skips manually adjusted rests (by popular request, and practically a necessity to avoid affecting scores created before the collision avoidance was implemented). So, your manual adjustment is applied to the default position, not the adjusted position.

Ideally, we'd do something like we do with other autoplaced elements, "rebasing" the offset to the adjusted position. But this isn't without its issues either, it is what leads to unexpected results sometimes when making adjustments via the Inspector, since the code won't allow the value to update itself while you adjust it.