Hairpin with above placement moved onto staff jumps back on next layout
Reported version
3.x-dev
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project
OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.1.0.6829, revision: 66b30c3
- Open the attached score and take the reset;
- Use Shift + drag to move the hairpin in measure 3 onto the staff and into the gap between voices 1 and 2 (and notice the unexpected movement of the slur in measure 7);
- Use Shift + drag to move the hairpin in measure 4 onto the staff and into the gap between voices 1 and 2;
Result: After step 3, the hairpin in measure 3, unexpectedly repositions itself above the staff.
Attachment | Size |
---|---|
beethoven_adagio.mscz | 36.27 KB |
Fix version
3.1.0
Comments
It's actually not just moving the second hairpin that triggers this - any change that causes a relayout of the first system will cause the first hairpin to jump back above. So, I can reproduce from scratch as follows:
1) new score
2) add hairpin
3) press "X" to flip above staff
4) drag onto staff
5) enter a note in another measure on that system
Result: hairpin jumps back. Working on a fix.
BTW, the movement of the slur in measure 7 is unrelated and not a regression from 3.0.5 to 3.1. It's caused by fact that the reset is a bit
"incomplete" with respect to autoplace, so the slur is colliding with the string number. Any edit you do that causes the second system to be laid out again triggers the completion of the job - the slur moves to avoid the string number as it should have all along.
https://github.com/musescore/MuseScore/pull/5025
As I mention in the PR comments, the issue is actually connected to the code that tries to align hairpins with dynamics, it was not handling the case of a missing dynamic plus hairpin placed above being moved onto the staff, but this was never an issue before because there was no direct way to have a hairpin on staff if autoplace was enabled. Also, it should have worked anyhow because we are supposed to turn off the alignment with dynamic for diagonal hairpins, but that wasn't working for hairpins placed above. Both of these issues are fixed by this PR. Meanwhile, workaround is to disable autoplace, which doesn't really have any other bad effect here.
Fixed in branch master, commit d63c98a717
fix #289241: hairpin above won't stay in staff
Fixed in branch master, commit 1eca956a98
_Merge pull request #5025 from MarcSabatella/289241-hairpin-instaff
fix #289241: hairpin above won't stay in staff_
Automatically closed -- issue fixed for 2 weeks with no activity.