add chordlyrics and nochordlyrics

This commit is contained in:
tux 2024-03-24 03:42:24 +01:00 committed by Christoph Wagner
parent 395e959432
commit 7f7cac99f4
2 changed files with 91 additions and 1 deletions

View File

@ -100,6 +100,48 @@ generalLayout = \layout {
} }
} }
lyricsWithChordsLayout = \layout {
\generalLayout
\context {
\ChordNames
\override ChordName.font-size = \songTextChordFontSize
}
\context {
\Lyrics
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.basic-distance = 0
\override LyricText.parent-alignment-X = #LEFT
\override LyricText.self-alignment-X = #LEFT
\override LyricText.word-space = 0.8
\override LyricSpace.minimum-distance = 0.8
}
\context {
\Score
\override SpacingSpanner.uniform-stretching = ##t
\override SpacingSpanner.spacing-increment = 0
\remove Bar_number_engraver
\remove Mark_engraver
\remove Volta_engraver
\remove Parenthesis_engraver
}
\context {
\Staff
\remove Staff_symbol_engraver
\remove Clef_engraver
\remove Time_signature_engraver
\omit KeySignature
}
\context {
\Voice
\remove Stem_engraver
\remove Rest_engraver
\remove Phrasing_slur_engraver
\remove Slur_engraver
\remove Tie_engraver
\remove Dynamic_engraver
\remove Note_heads_engraver
}
}
% Akkord mit Bunddiagramm anzeigen % Akkord mit Bunddiagramm anzeigen
#(define-markup-command (fret-chord layout props fret chord) (string? string?) #(define-markup-command (fret-chord layout props fret chord) (string? string?)
(interpret-markup layout props (interpret-markup layout props

View File

@ -190,4 +190,52 @@
(map (lambda (column-markups) (map (lambda (column-markups)
(make-column-markup (make-column-markup
(add-markup-between-elements #t (make-vspace-markup verse-vspace) column-markups))) (add-markup-between-elements #t (make-vspace-markup verse-vspace) column-markups)))
column-data))))))))) column-data)))))))))
#(define-markup-command (pad-left layout props amount arg)
(number? markup?)
(let* ((m (interpret-markup layout props arg))
(x (ly:stencil-extent m X))
(y (ly:stencil-extent m Y)))
(ly:stencil-translate
(ly:make-stencil (ly:stencil-expr m)
(cons (- (car x) amount) (cdr x))
y)
`(,amount . 0))))
#(define-markup-command (chordlyrics layout props lyrics) (ly:music?)
#:properties ((verse-chords #f)
(verse-reference-voice #f)
(verse-break-voice #f))
"Vers mit Akkorden"
(interpret-markup layout props
#{
\markup {
\override #'(baseline-skip . 0.3)
\pad-left #-10
\score {
\transposable
<<
\new Devnull { #(if (ly:music? verse-break-voice) verse-break-voice) }
#(if (ly:music? verse-chords) verse-chords songChords)
\new NullVoice { #(if (ly:music? verse-reference-voice) verse-reference-voice firstVoice) }
\addlyrics { #lyrics }
>>
\layout {
\lyricsWithChordsLayout
\context {
\Staff
\override LeftEdge.space-alist.first-note = #'(fixed-space . 10.0)
}
}
}
}
#}
)
)
#(define-markup-command (nochordlyrics layout props lyrics) (ly:music?)
"Vers ohne Akkorde"
(interpret-markup layout props
(markup #:override `(verse-chords . ,#{#}) #:chordlyrics lyrics))
)