1 Commits

Author SHA1 Message Date
tux
8e0e637832 new engraver for spacing in chordlyrics 2025-06-12 22:26:08 +02:00

View File

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