From cb4b74d4f7d2cece0a2541246b79b377c09b0fd6 Mon Sep 17 00:00:00 2001 From: tux Date: Sat, 10 May 2025 15:13:47 +0200 Subject: [PATCH] indents for verse lines --- verses_with_chords.ly | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/verses_with_chords.ly b/verses_with_chords.ly index c368c70..b5dc38e 100644 --- a/verses_with_chords.ly +++ b/verses_with_chords.ly @@ -221,14 +221,27 @@ (cons (car x) (+ (cdr x) amount)) y))) -#(define-markup-command (score-equal-height layout props reference-height lines) +#(define-markup-command (score-equal-height-with-indents layout props reference-height lines) (number? markup-list?) #:category music - #:properties ((baseline-skip)) - (stack-stencils Y DOWN baseline-skip - (map - (lambda (line) (ly:make-stencil (ly:stencil-expr line) (ly:stencil-extent line X) `(,(/ reference-height -2.0) . ,(/ reference-height 2.0)))) - (interpret-markup-list layout props lines)))) + #:properties ((baseline-skip) + (line-indents '())) + (let ((indents-max-index (- (length line-indents) 1))) + (stack-stencils Y DOWN baseline-skip + (index-map + (lambda (index line) + (let ((stil + (ly:make-stencil + (ly:stencil-expr line) + (ly:stencil-extent line X) + `(,(/ reference-height -2.0) . ,(/ reference-height 2.0))))) + (if (<= index indents-max-index) + (ly:stencil-translate-axis + stil + (list-ref line-indents index) + X) + stil))) + (interpret-markup-list layout props lines))))) #(define-public (custom-lyric-text::print grob) "Allow interpretation of tildes as lyric tieing marks." @@ -253,7 +266,7 @@ #{ \markup { \override #`(baseline-skip . ,intraverse-vspace) - \score-equal-height #verse-line-height \score-lines { + \score-equal-height-with-indents #verse-line-height \score-lines { << \new Devnull { #verse-break-voice } \new NullVoice = "dummyvoice" { #verse-reference-voice }