Manual adjustment of tuplets above the staff lost on next layout
Reported version
3.2
Priority
P0 - Critical
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
No
Project
Reported in https://musescore.org/en/node/291435.
1) default score
2) enter a quarter note triplet on mid-staff "A"
3) adjust the tuplet bracket toward the staff, but not touching it
4) edit something else on that system
Result: the tuplet jumps up
You can see after step 3) that min distance is wrong in the Inspector, it should get smaller, not larger, as you approach the staff.
Workaround is to manually set min distance to 0 (or negative) for any above-staff tuplets you want to manually adjust.
Fix version
3.2.3
Comments
Seems to have been caused by https://github.com/musescore/MuseScore/pull/5118/commits/2f2a4631d3bde4…. Seems like the right idea but somehow not the right execution.
Actually, the only problem with the code here is that rebaseMinDistance() looks at placeAbove() to decide which direction is closer to the staff, and placeAbove() is returning false even though the tuplet is above the staff, because tuplets apparently don't use the placement flag.
We already have the "above" parameter at the point we call rebaseMinDistance, I suppose we could just pass that in rather than have rebaseMinDistance() call placeAbove(). Or rebaseMinDistance could special-case tuplets and check isUp() instead. Or we could override Tuplet::placement() to return _isUp.
https://github.com/musescore/MuseScore/pull/5189
Implements the quick fix of having rebaseMinDistance() special-case tuplets.
Fixed in branch master, commit d1b2714fac
fix #291491: tuplet autoplace issues
Fixed in branch master, commit a161a573c5
_Merge pull request #5189 from MarcSabatella/291491-tuplet-mindistance
fix #291491: support tuplets in rebaseMinDistance_
Automatically closed -- issue fixed for 2 weeks with no activity.