Songinfogenerierung verbessert
This commit is contained in:
@ -33,32 +33,33 @@
|
||||
(composerId (chain-assoc-get 'header:composerId props (if songId (songinfo-from songId "composer") #f)))
|
||||
(poet-and-composer-same (equal? poetId composerId)))
|
||||
(let (
|
||||
(blockwidth (* (chain-assoc-get 'header:songinfo-size-factor props 0.9) (ly:output-def-lookup layout 'line-width)))
|
||||
(infotext (chain-assoc-get 'header:songinfo props #f))
|
||||
(poet (chain-assoc-get 'header:poet props (if poetId (if poet-and-composer-same (format-poet-and-composer poetId) (format-poet poetId)) #f)))
|
||||
(infotext (chain-assoc-get 'header:infotext props (chain-assoc-get 'header:songinfo props #f)))
|
||||
(poet-maybe-with-composer (chain-assoc-get 'header:poet props (if poetId (if poet-and-composer-same (format-poet-and-composer poetId) (format-poet poetId)) #f)))
|
||||
(composer (chain-assoc-get 'header:composer props (if (and composerId (not poet-and-composer-same)) (format-composer composerId) #f)))
|
||||
(poet-and-composer-stacked (chain-assoc-get 'header:poet-and-composer-stacked props songInfoPoetAndComposerStacked))
|
||||
(between-poet-and-composer-markup (chain-assoc-get 'header:between-poet-and-composer-markup props (make-hspace-markup 3)))
|
||||
(copyright (chain-assoc-get 'header:copyright props #f)))
|
||||
(markup #:override '(baseline-skip . 3.0) (
|
||||
make-fontsize-markup songInfoFontSize
|
||||
(make-sans-markup
|
||||
;%\override #'(line-width . 92) \wordwrap-field #symbol
|
||||
(make-column-markup (list
|
||||
(make-line-markup
|
||||
(list
|
||||
(if (and poet (not (and (string? poet) (string-null? poet)))) (markup poet between-poet-and-composer-markup) "")
|
||||
(if (and composer (not poet-and-composer-stacked)) composer ""))
|
||||
)
|
||||
(if (and composer poet-and-composer-stacked) (make-line-markup (list composer)) "")
|
||||
(make-override-markup `(line-width . ,blockwidth) (make-justify-string-markup (string-append
|
||||
(if (and copyright (not (and (string? copyright) (string-null? copyright)))) (ly:format "© ~a\n\n" copyright) "")
|
||||
(if infotext infotext "")
|
||||
)))
|
||||
)))
|
||||
)
|
||||
)
|
||||
))
|
||||
(copyright (chain-assoc-get 'header:copyright props #f))
|
||||
(translation (chain-assoc-get 'header:translation props #f))
|
||||
(spelling (chain-assoc-get 'header:spelling props #f))
|
||||
(year_text (chain-assoc-get 'header:year_text props #f))
|
||||
(year_melody (chain-assoc-get 'header:year_melody props #f)))
|
||||
(markup
|
||||
#:override (cons 'songinfo:poet-maybe-with-composer
|
||||
(if (and poet-maybe-with-composer (not (and (string? poet-maybe-with-composer) (string-null? poet-maybe-with-composer)))) poet-maybe-with-composer #f))
|
||||
#:override (cons 'songinfo:composer
|
||||
(if (and composer (not (and (string? composer) (string-null? composer)))) composer #f))
|
||||
#:override (cons 'songinfo:copyright
|
||||
(if (and copyright (not (and (string? copyright) (string-null? copyright)))) copyright #f))
|
||||
#:override (cons 'songinfo:infotext
|
||||
(if (and infotext (not (and (string? infotext) (string-null? infotext)))) infotext #f))
|
||||
#:override (cons 'songinfo:translation
|
||||
(if (and translation (not (and (string? translation) (string-null? translation)))) translation #f))
|
||||
#:override (cons 'songinfo:spelling
|
||||
(if (and spelling (not (and (string? spelling) (string-null? spelling)))) spelling #f))
|
||||
#:override (cons 'songinfo:year_text
|
||||
(if (and year_text (not (and (string? year_text) (string-null? year_text)))) year_text #f))
|
||||
#:override (cons 'songinfo:year_melody
|
||||
(if (and year_melody (not (and (string? year_melody) (string-null? year_melody)))) year_melody #f))
|
||||
(ly:output-def-lookup layout 'songinfoMarkup)
|
||||
)))
|
||||
(make-null-markup)))
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user