Descriptionissue 3692: Fingering collision with accidentals
Changes to be committed:
modified: ../Documentation/changes.tely
- Announcing the new X-align-on-main-noteheads feature
for the New_fingering_engraver
new file: ../input/regression/fingering-adjacent-note-chord-new.ly
new file: ../input/regression/fingering-adjacent-note-chord.ly
- Adjacent-note chord regression tests for New_fingering_engraver
and Fingering_engraver.
modified: ../lily/fingering-engraver.cc
- Instead of aligning the fingering on the first-to-come notehead of the
chord, now use note-column as parent and take advantage of the
side-position-interface's X-align-on-main-noteheads functionality.
- The (sometimes) incorrect alignment caused by simply using the the
first chord note entered as parent was, after all, the actual reason
for the accidental collision that never had happened with a proper
fingering alignment.
modified: ../lily/new-fingering-engraver.cc
- Making New_fingering_engraver consider the X-align-on-main-noteheads
property and use note-column as parent for up/down orientations. That
way, up/down fingerings will be aligned in a straight column, properly
centered over the main noteheads.
- With "classic" per-note alignment, use notehead as parent (as it had
been always done), but now avoid all accidentals in the chord for
up/down placement.
- If there's only one note, no special alignment/accidental treatment
needed.
- accidentals_.clear () had been missing after position_all (), so that
more and more accidentals gathered up from chord to chord.
- By default, X-align-on-main-noteheads is *not* set to keep everything
compatible to the previous practice.
- When setting X-align-on-main-noteheads and using just up/down orientation,
New_fingering_engraver behaves like Fingering_engraver.
Patch Set 1 #
MessagesTotal messages: 1
|