Autorensystem flexibilisiert
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
poetPrefix = "Worte:"
|
||||
composerPrefix = "Weise:"
|
||||
compositionPrefix = "Satz:"
|
||||
adaptionTextPrefix = "Bearbeitung Text:"
|
||||
adaptionMusicPrefix = "Bearbeitung Musik:"
|
||||
adaptionTextPrefix = "Bearbeitung:"
|
||||
adaptionMusicPrefix = "Bearbeitung:"
|
||||
poetAndComposerEqualPrefix = "Worte und Weise:"
|
||||
voicePrefix = "Stimme:"
|
||||
versePrefix = "Strophe:"
|
||||
@@ -12,6 +12,7 @@
|
||||
pronunciationPrefix = "Aussprache:"
|
||||
interludePrefix = "Zwischenspiel:"
|
||||
bridgePrefix = "Bridge:"
|
||||
author-joiner = #(lambda (author-list) (string-join author-list ", "))
|
||||
|
||||
authorFormat =
|
||||
#(lambda (noDetails name trail_name birth_year death_year organization)
|
||||
@@ -31,6 +32,105 @@
|
||||
""
|
||||
)))
|
||||
|
||||
authorContributionFormat =
|
||||
#(lambda* (render-contribution-group render-partial-contribution-group #:key
|
||||
(poetIds '())
|
||||
(translatorIds '())
|
||||
(versePoetData '())
|
||||
(composerIds '())
|
||||
(verseComposerData '())
|
||||
(voiceComposerData '())
|
||||
(compositionIds '())
|
||||
(adaptionTextIds '())
|
||||
(adaptionMusicIds '())
|
||||
(bridgeIds '())
|
||||
(interludeIds '())
|
||||
(year_text #f)
|
||||
(year_translation #f)
|
||||
(year_melody #f)
|
||||
(year_composition #f)
|
||||
(year_adaption_text #f)
|
||||
(year_adaption_music #f)
|
||||
(poetAndComposerEqualPrefix "")
|
||||
(poetPrefix "")
|
||||
(composerPrefix "")
|
||||
(translationPrefix "")
|
||||
(pronunciationPrefix "")
|
||||
(compositionPrefix "")
|
||||
(adaptionTextPrefix "")
|
||||
(adaptionMusicPrefix "")
|
||||
(bridgePrefix "")
|
||||
(interludePrefix ""))
|
||||
(if (and
|
||||
(equal? poetIds composerIds)
|
||||
(null? translatorIds)
|
||||
(null? versePoetData)
|
||||
(null? verseComposerData)
|
||||
(null? voiceComposerData)
|
||||
(null? compositionIds)
|
||||
(null? adaptionTextIds)
|
||||
(null? adaptionMusicIds)
|
||||
(null? bridgeIds)
|
||||
(null? interludeIds))
|
||||
(list
|
||||
(join-present (list
|
||||
(render-contribution-group poetAndComposerEqualPrefix poetIds)
|
||||
(if (equal? year_text year_melody) year_text (join-present (list year_text year_melody) "/"))
|
||||
) ", ")
|
||||
#f)
|
||||
(list
|
||||
(if (and (null? poetIds) (null? versePoetData) (null? translatorIds)) #f
|
||||
(string-append
|
||||
poetPrefix
|
||||
" "
|
||||
(join-present (list
|
||||
(join-present (list
|
||||
(render-contribution-group "" poetIds)
|
||||
year_text
|
||||
) ", ")
|
||||
(render-partial-contribution-group 'versePrefix versePoetData)
|
||||
(join-present (list
|
||||
(render-contribution-group adaptionTextPrefix adaptionTextIds)
|
||||
year_adaption_text
|
||||
) ", ")
|
||||
(join-present (list
|
||||
(render-contribution-group translationAuthorPrefix translatorIds)
|
||||
year_translation
|
||||
) ", ")
|
||||
) "; ")
|
||||
))
|
||||
(if (and
|
||||
(null? composerIds)
|
||||
(null? compositionIds)
|
||||
(null? adaptionMusicIds)
|
||||
(null? verseComposerData)
|
||||
(null? voiceComposerData)
|
||||
(null? bridgeIds)
|
||||
(null? interludeIds)) #f
|
||||
(string-append
|
||||
composerPrefix
|
||||
" "
|
||||
(join-present (list
|
||||
(join-present (list
|
||||
(render-contribution-group "" composerIds)
|
||||
year_melody
|
||||
) ", ")
|
||||
(render-partial-contribution-group 'versePrefix verseComposerData)
|
||||
(render-partial-contribution-group 'voicePrefix voiceComposerData)
|
||||
(join-present (list
|
||||
(render-contribution-group compositionPrefix compositionIds)
|
||||
year_composition
|
||||
) ", ")
|
||||
(join-present (list
|
||||
(render-contribution-group adaptionMusicPrefix adaptionMusicIds)
|
||||
year_adaption_music
|
||||
) ", ")
|
||||
(render-contribution-group bridgePrefix bridgeIds)
|
||||
(render-contribution-group interludePrefix interludeIds)
|
||||
) "; ")
|
||||
)))))
|
||||
|
||||
|
||||
songinfoMarkup =
|
||||
#(make-on-the-fly-markup
|
||||
(lambda (layout props m)
|
||||
@@ -45,13 +145,15 @@
|
||||
(year_melody (chain-assoc-get 'songinfo:year_melody props #f))
|
||||
(poet-with-year (if (and poet-maybe-with-composer year_text) (string-append poet-maybe-with-composer ", " year_text) poet-maybe-with-composer))
|
||||
(composer-with-year (if (and composer year_melody) (string-append composer ", " year_melody) composer))
|
||||
(concat-markupped-strings (lambda (text)
|
||||
(ly:regex-replace (ly:make-regex "(\\S+)(\\\\\\w+(?:\\s+\\[^\\{\\s]*|\\s*\\{[^\\}]*\\}))(\\S*)") text "\\concat {" 1 "\\line {" 2 "}" 3 "}")))
|
||||
(string-with-paragraphs->markuplist (lambda (prefix text)
|
||||
(if text
|
||||
(apply append
|
||||
(map
|
||||
(lambda (paragraph)
|
||||
(make-wordwrap-internal-markup-list #t
|
||||
#{ \markuplist { $(ly:parser-include-string paragraph) } #}))
|
||||
#{ \markuplist { $(ly:parser-include-string (concat-markupped-strings paragraph)) } #}))
|
||||
(ly:regex-split (ly:make-regex "\r?\n[ \t\r\n]*\n[ \t\r\n]*") (string-append prefix text))))
|
||||
'())))
|
||||
(poet-and-composer-markup-list
|
||||
|
||||
Reference in New Issue
Block a user