1 Commits

Author SHA1 Message Date
tux
0f41cde5f6 new engraver for spacing in chordlyrics 2025-11-19 17:44:03 +01:00
2 changed files with 5 additions and 11 deletions

View File

@@ -21,17 +21,8 @@
)))))
(scm-load "resolve_inherits.scm")
(scm-load "yaml_parser.scm")))
#(define (song-includes-data-path filename)
(string-join
(list
(dirname (dirname (dirname (dirname (current-filename)))))
"lilypond-song-includes"
"data"
filename)
file-name-separator-string))
#(define AUTHOR_DATA (if (defined? 'AUTHOR_DATA) AUTHOR_DATA (parse-yml-file (song-includes-data-path "authors.yml"))))
#(define SONG_DATA (if (defined? 'SONG_DATA) SONG_DATA (parse-yml-file (song-includes-data-path "songs.yml"))))
#(define AUTHOR_DATA (if (defined? 'AUTHOR_DATA) AUTHOR_DATA (parse-yml-file "../../lilypond-song-includes/data/authors.yml")))
#(define SONG_DATA (if (defined? 'SONG_DATA) SONG_DATA (parse-yml-file "../../lilypond-song-includes/data/songs.yml")))
\include "merge_rests_engraver_override.ily"
\include "basic_format_and_style_settings.ily"

View File

@@ -256,6 +256,7 @@
Chord_lyrics_spacing_engraver =
#(lambda (ctx)
(let ((last-lyric-syllable #f)
(last-lyric-syllable-width 0)
(lyric-width-since-last-chord 0)
(music-columns-for-last-syllable 0)
(last-printed-chord #f)
@@ -283,6 +284,7 @@ Chord_lyrics_spacing_engraver =
)
((break-event engraver event)
(set! last-lyric-syllable #f)
(set! last-lyric-syllable-width 0)
(set! lyric-width-since-last-chord 0)
(set! music-columns-for-last-syllable 0)
(set! last-printed-chord #f)
@@ -296,6 +298,7 @@ Chord_lyrics_spacing_engraver =
((lyric-syllable-interface this-engraver grob source-engraver)
(let ((syllable-width (interval-length (ly:grob-extent grob grob X))))
(set! lyric-width-since-last-chord (+ lyric-width-since-last-chord syllable-width))
(set! last-lyric-syllable-width syllable-width)
)
(if (> chord-width-since-last-lyric 0)
(if lyrics-seen-since-break