Match X extent of Dots to real extent
Before, the Dots stencil had an extra X extent at the left to pad the dots from the note heads. There are several problems with this. One is that it's surprising, since X-extent normally represents the width of the object itself. A more immediate problem is that slurs were being pushed away further than necessary when starting or ending on dotted notes, because Slur_configuration::score_extra_encompass in slur-configuration.cc has a special path for grobs that overlap with the note heads, and this path was being triggered for dots, while they are in fact not overlapping horizontally with the heads. This code path would cause the slur to push itself away enough to start/end at a higher point than the top of the dot.
This fixes these by moving the padding from Dots to DotColumn. The new property DotColumn.padding determines how much the DotColumn moves away from the note heads.
This also has the nice consequence of making DotColumn.padding configurable; before, there was no simple way to configure the distance from heads to dots.
Fixes #3863 (closed)
This also obviates !1622 (closed), and fixes cases that !1622 (closed) does not fix, basically those where the problem lies (in part) in a dot on the first note rather than the last, like
{ a''4.( a'') }
Merge request reports
Activity
added Patchnew label
- Resolved by Jean Abou Samra
- Resolved by Jean Abou Samra
- Resolved by Jean Abou Samra
mentioned in merge request !1622 (closed)
added Patchreview label and removed Patchnew label
- Resolved by Jean Abou Samra
added 2 commits
added Patchnew label and removed Patchreview label
added 4 commits
-
de0d8e5b...c9925c1a - 2 commits from branch
lilypond:master
- 7fe74719 - Test dots and ligatures in KievanStaff
- 51add1d4 - Match X extent of Dots to real extent
-
de0d8e5b...c9925c1a - 2 commits from branch
Test results can be found at https://lilypond.gitlab.io/-/lilypond/-/jobs/3080769843/artifacts/test-results/index.html.
This is the new test
slur-dot-distance.ly
:For comparison, here's the 2.23.13 output for this test:
The slur is now closer to the heads in
slur-dot-collision.ly
:kievan-notation.ly
has added music that tests the handling of dots. The output of this new version of the test does not change with this MR.morgenlied.ly
has slurs closer to heads, this is before:and after:
cross-staff-stems.ly
changes slightly.The reason for this difference is that the lower skyline now looks like this:
instead of this:
added Patchreview label and removed Patchnew label
- Resolved by Dan Eble
added 2 commits