Stems too short on chords outside staff

• Nov 5, 2020 - 20:31
Reported version
3.5
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

Add single note above the staff, flip its stem up. Stem is correctly shortened.

Now try the same thing for a chord of two notes, say an octave apart. Now the stem is shortened way too much - in some cases the stem doesn't even reach the upper note.

Cause is a flaw in the stem shortening code, it needs to be preserving not just the "shortest stem", but the shortest exposed stem. The portion above the top-most note should be no shorter than that.


Comments

Status PR created fixed

Fixed in branch 3.x, commit 542bd86bf6

_fix #312608: stems too short on chords outside staff

Resolves: https://musescore.org/en/node/312608

The stem shortening code (for notes outside the staff
whose stems point outwards) tries to enforce a minimum length.
However, this is applied too literally - it checks the full stem length.
So for chords as opposed to single notes, it often doesn't apply -
the portion of the the stem inside the chord already exceeds that.

Fix is to adjust the shortening code to check the "exposed" portion
of the stem only - the part extending further from the staff.
If that part is less than the "shortest stem" setting,
then we should extend the stem by the difference._

Fix version
3.6.0