1 Commits

Author SHA1 Message Date
tux
0339efcfea new engraver for spacing in chordlyrics 2025-06-12 21:32:25 +02:00

View File

@ -264,8 +264,7 @@ Chord_lyrics_spacing_engraver =
(remaining-chord-width 0)
(last-rest #f)
(rest-count 0)
(multi-measure-rest-count 0)
(stanza-shift 0))
(multi-measure-rest-count 0))
(make-engraver
(listeners
((multi-measure-rest-event engraver event)
@ -282,15 +281,11 @@ Chord_lyrics_spacing_engraver =
(set! last-rest #f)
(set! rest-count 0)
(set! multi-measure-rest-count 0)
(set! stanza-shift 0)
))
(acknowledgers
((note-head-interface this-engraver grob source-engraver)
(if (and (> rest-count 0) (not last-note-head))
(let ((rest-spacing-on-line-start 1.2))
(ly:grob-set-property! grob 'minimum-X-extent (cons (- rest-spacing-on-line-start) 0))
(set! stanza-shift rest-spacing-on-line-start)
))
(ly:grob-set-property! grob 'minimum-X-extent (cons -1.2 0)))
(set! notes-on-syllable-count (+ 1 notes-on-syllable-count))
(set! last-note-head grob)
(set! note-head-extended #f)
@ -354,8 +349,6 @@ Chord_lyrics_spacing_engraver =
(set! last-rest grob)
(set! multi-measure-rest-count 0)
)
((stanza-number-interface this-engraver grob source-engraver)
(ly:grob-set-property! grob 'padding stanza-shift))
))))
%#(ly:set-option 'debug-skylines #t)