Using Inspector spin box to move an element from below to above staff creates surprise when the placement changes
Reported version
3.4
Type
Functional
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project
OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.4.2.9788, revision: 148e43f
- Create a new score
- Select a whole measure rest or add a note and add a dynamic.
- Select the dynamic. Note the Y offset – in my case I have the default set to -2.5
- Use the down -spin button to decrease the Y offset several times.
- Result the dynamic moves upwards in steps of 0.5 spaces until an offset of -5.0 is reached. The next click on the spin button changes the Y offset to -5.5 but the dynamic moves a large distance up. Expected result, the dynamic moves up by another 0.5 space.
- Click on the reset to style default button next to the Y offset
- Result 1: the offset is set to -3.0. Expected result: the offset is set to -2.5
- Result 2: the dynamic moves downwards but is positioned above the stave at a distance of approximately 3 sp above the top line. Expected result: the dynamic returns to the position it had when originally added in step 2.
You get the same result if instead of using the spin button at step 5. you type a Y offset into the inspector. There is a large difference in position between a value of -5.0 and a value of -5.01.
There are similar results with other elements when the offset is changed to a value greater than +4.50 sp or less than -5.0 sp. I have tested lines, stave text and system text and they exhibit the same problem. It does not occur with articulations, ornaments, slurs or ties.
The problem persists in 3.5 beta.
Comments
I'm having trouble understanding the steps. Are you missing the step where you changed the default Y position? A sample score all of your customizations would help. Like, do you also have the "placement" set to "above"?
Anyhow, I tried a few different variations of this but couldn't get anything to go wrong. From the description, though, I suspect you are seeing something like #289943: Inspector: min distance and offset values do not update immediately when moving into the skyline using Inspector controls
In reply to I'm having trouble… by Marc Sabatella
Sorry some spurious minus signs crept into my original post.
Here is the illustrated version showing the position of the dynamic alongside the inspector showing the Y offset (and with only the correct minus signs present in the text below).
Note there is no step for setting the offset default. I did that weeks ago.
After Step 2:
After Step 4: (Note the Y offset is now -5.0)
After Step 5: (Note the Y offset is now -5.5 but the dynamic has moved much further than 0.5 sp)
Click on the reset to style default button next to the Y offset. Note it is the reset to style button I am talking about here (the x inside the circular arrow), not the set as style S button.
After Step 6: (Note the Y offset is now -3.0 not the style default of 2.5)
Result 1: the offset is set to -3.0. Expected result: the offset is set to 2.5
Forcing a re-layout by switching to and from continuous view does not put the dynamic back in the expected place below the stave, nor does a save and reload.
I don't think this is the same as #289943 as that says the minimum distance changes, whereas in this case it is only the Y offset value that changes. I didn't find anything similar to this issue in the issue tracker, but maybe I didn't look hard enough.
It's still not clear where the default offset got changed. Do you mean you created an MSS file and set that as your default in preferences? In the future, it would be better to include scores, then otherwise when we create a score we get something different than what you have and one never knows when that will be relevant.
Anyhow, in this case it isn't needed, the steps are clear enough. What's actually happening here is the code is smart enough to detect that you have moved the dynamic above the staff, and it automatically change the Placement setting for you. So now suddenly your -5 offset is being applied to the above placement instead of the below. Presumably we could try to correct that as well, but there is an issue making changes to two settings at once, as per the other issue I mentioned.
Meanwhile, though, it's much better to simply flip the dynamic above using "X" or the Placement field in the Inspector, rather than rely on large negative offsets.
In reply to It's still not clear where… by Marc Sabatella
I set the default Y offset via the Format≥Style>Dynamics dialogue. I like my dynamics closer to the stave than the standard default of 4.0 sp. This change of default is a red herring I think. I mentioned it only to explain why yhe starting position was 2.50 rather than 4.0.
Next point, I wasn't actually trying to position a dynamic above the stave using this method. i actually discovered the behaviour when playing with a line's position and thickness to position a coloured block within a measure. As this was a fairly esoteric use case I looked further and found it happened with dynamics and text items. I decided to report it in the context of dynamic placement.
From your reply, it seems this behaviour is "by design". Fair enough, but it's a surprising design feature nonetheless.
It's partially design - it's definitely a deliberate feature that if you attempt to move a dynamic from one side of the staff to the other, MuseScore recognizes this and flips it for you. Normally people do this by dragging, and then there is no jump at the end. It's only the fact that you are using the spin box rather than dragging - or using Placement, or using "X", which would be the actual recommended methods - that you are seeing the glitch. but consider, what's the alternative? It would be having the dynamic stay where it is but have the offset suddenly change from-5 to 0. That would be equally surprising. No matter how you slice it, if you try to do an unusual thing and MsueScore tried to correct it for you, the result is going to be a little bit surprising. Surprising in that it doesn't fix the placement for you, or that the element jumps, or that the offset field changes right out from under you. I don't see a good "expected" result here.
But since the Inspector is completely redesigned for MuseScore 4, it is at least an opportunity to consider changing how we choose to surprise the user who surprises us this way :-)
In reply to It's partially design - it's… by Marc Sabatella
Nice title change. :-))