2 Commits

Author SHA1 Message Date
zuk aed11a70a7 Add meloref to author system 2026-05-12 10:42:14 +02:00
zuk 92a129f346 Fix double melody year in songinfo 2026-05-03 22:22:59 +02:00
3 changed files with 19 additions and 5 deletions
@@ -7,6 +7,7 @@
poetAndComposerEqualPrefix = "Worte und Weise:" poetAndComposerEqualPrefix = "Worte und Weise:"
voicePrefix = "Stimme:" voicePrefix = "Stimme:"
versePrefix = "Strophe:" versePrefix = "Strophe:"
refPrefix = "Refrain:"
translationAuthorPrefix = "Übersetzung:" translationAuthorPrefix = "Übersetzung:"
translationPrefix = "Übersetzung:" translationPrefix = "Übersetzung:"
pronunciationPrefix = "Aussprache:" pronunciationPrefix = "Aussprache:"
@@ -39,6 +40,7 @@
(versePoetData '()) (versePoetData '())
(composerIds '()) (composerIds '())
(verseComposerData '()) (verseComposerData '())
(refComposerIds '())
(voiceComposerData '()) (voiceComposerData '())
(compositionIds '()) (compositionIds '())
(adaptionTextIds '()) (adaptionTextIds '())
@@ -48,6 +50,7 @@
(year_text #f) (year_text #f)
(year_translation #f) (year_translation #f)
(year_melody #f) (year_melody #f)
(year_melody_meloref #f)
(year_composition #f) (year_composition #f)
(year_adaption_text #f) (year_adaption_text #f)
(year_adaption_music #f) (year_adaption_music #f)
@@ -60,12 +63,14 @@
(adaptionTextPrefix "") (adaptionTextPrefix "")
(adaptionMusicPrefix "") (adaptionMusicPrefix "")
(bridgePrefix "") (bridgePrefix "")
(interludePrefix "")) (interludePrefix "")
(refPrefix ""))
(if (and (if (and
(equal? poetIds composerIds) (equal? poetIds composerIds)
(null? translatorIds) (null? translatorIds)
(null? versePoetData) (null? versePoetData)
(null? verseComposerData) (null? verseComposerData)
(null? refComposerIds)
(null? voiceComposerData) (null? voiceComposerData)
(null? compositionIds) (null? compositionIds)
(null? adaptionTextIds) (null? adaptionTextIds)
@@ -104,6 +109,7 @@
(null? compositionIds) (null? compositionIds)
(null? adaptionMusicIds) (null? adaptionMusicIds)
(null? verseComposerData) (null? verseComposerData)
(null? refComposerIds)
(null? voiceComposerData) (null? voiceComposerData)
(null? bridgeIds) (null? bridgeIds)
(null? interludeIds)) #f (null? interludeIds)) #f
@@ -116,6 +122,10 @@
year_melody year_melody
) ", ") ) ", ")
(render-partial-contribution-group 'versePrefix verseComposerData) (render-partial-contribution-group 'versePrefix verseComposerData)
(join-present (list
(render-contribution-group refPrefix refComposerIds)
year_melody_meloref
) ", ")
(render-partial-contribution-group 'voicePrefix voiceComposerData) (render-partial-contribution-group 'voicePrefix voiceComposerData)
(join-present (list (join-present (list
(render-contribution-group compositionPrefix compositionIds) (render-contribution-group compositionPrefix compositionIds)
@@ -101,6 +101,7 @@
#:versePoetData (find-author-id-with-part-numbers 'verse authors) #:versePoetData (find-author-id-with-part-numbers 'verse authors)
#:composerIds (find-author-ids-by 'melody authors) #:composerIds (find-author-ids-by 'melody authors)
#:verseComposerData (find-author-id-with-part-numbers 'meloverse authors) #:verseComposerData (find-author-id-with-part-numbers 'meloverse authors)
#:refComposerIds (find-author-ids-by 'meloref authors)
#:voiceComposerData (find-author-id-with-part-numbers 'voice authors) #:voiceComposerData (find-author-id-with-part-numbers 'voice authors)
#:compositionIds (find-author-ids-by 'composition authors) #:compositionIds (find-author-ids-by 'composition authors)
#:adaptionTextIds (find-author-ids-by 'adaption_text authors) #:adaptionTextIds (find-author-ids-by 'adaption_text authors)
@@ -110,6 +111,7 @@
#:year_text (chain-assoc-get 'header:year_text props #f) #:year_text (chain-assoc-get 'header:year_text props #f)
#:year_translation (chain-assoc-get 'header:year_translation props #f) #:year_translation (chain-assoc-get 'header:year_translation props #f)
#:year_melody (chain-assoc-get 'header:year_melody props #f) #:year_melody (chain-assoc-get 'header:year_melody props #f)
#:year_melody_meloref (chain-assoc-get 'header:year_melody_meloref props #f)
#:year_composition (chain-assoc-get 'header:year_composition props #f) #:year_composition (chain-assoc-get 'header:year_composition props #f)
#:year_adaption_text (chain-assoc-get 'header:year_adaption_text props #f) #:year_adaption_text (chain-assoc-get 'header:year_adaption_text props #f)
#:year_adaption_music (chain-assoc-get 'header:year_adaption_music props #f) #:year_adaption_music (chain-assoc-get 'header:year_adaption_music props #f)
@@ -123,7 +125,7 @@
#:adaptionMusicPrefix (ly:output-def-lookup layout 'adaptionMusicPrefix) #:adaptionMusicPrefix (ly:output-def-lookup layout 'adaptionMusicPrefix)
#:bridgePrefix (ly:output-def-lookup layout 'bridgePrefix) #:bridgePrefix (ly:output-def-lookup layout 'bridgePrefix)
#:interludePrefix (ly:output-def-lookup layout 'interludePrefix) #:interludePrefix (ly:output-def-lookup layout 'interludePrefix)
) #:refPrefix (ly:output-def-lookup layout 'refPrefix))
(list #f #f) (list #f #f)
) )
) )
@@ -143,7 +145,7 @@
(translation (chain-assoc-get 'header:translation props #f)) (translation (chain-assoc-get 'header:translation props #f))
(pronunciation (chain-assoc-get 'header:pronunciation props #f)) (pronunciation (chain-assoc-get 'header:pronunciation props #f))
(year_text (if (string? (car poet-and-composers)) #f (chain-assoc-get 'header:year_text props #f))) (year_text (if (string? (car poet-and-composers)) #f (chain-assoc-get 'header:year_text props #f)))
(year_melody (if (string? (car poet-and-composers)) #f (chain-assoc-get 'header:year_melody props #f)))) (year_melody (if (string? (cadr poet-and-composers)) #f (chain-assoc-get 'header:year_melody props #f))))
(markup (markup
#:override (cons 'songinfo:poet-maybe-with-composer #: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)) (if (and poet-maybe-with-composer (not (and (string? poet-maybe-with-composer) (string-null? poet-maybe-with-composer)))) poet-maybe-with-composer #f))
+4 -2
View File
@@ -283,13 +283,14 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
(versePoetData (find-author-id-with-part-numbers 'verse authors)) (versePoetData (find-author-id-with-part-numbers 'verse authors))
(composerIds (find-author-ids-by 'melody authors)) (composerIds (find-author-ids-by 'melody authors))
(verseComposerData (find-author-id-with-part-numbers 'meloverse authors)) (verseComposerData (find-author-id-with-part-numbers 'meloverse authors))
(refComposerIds (find-author-ids-by 'meloref authors))
(voiceComposerData (find-author-id-with-part-numbers 'voice authors)) (voiceComposerData (find-author-id-with-part-numbers 'voice authors))
(compositionIds (find-author-ids-by 'composition authors)) (compositionIds (find-author-ids-by 'composition authors))
(adaptionIds (find-author-ids-by 'adaption authors)) (adaptionIds (find-author-ids-by 'adaption authors))
(bridgeIds (find-author-ids-by 'bridge authors)) (bridgeIds (find-author-ids-by 'bridge authors))
(interludeIds (find-author-ids-by 'interlude authors))) (interludeIds (find-author-ids-by 'interlude authors)))
(delete-duplicates (delete-duplicates
(append poetIds translatorIds (map car versePoetData) composerIds (map car verseComposerData) (map car voiceComposerData) compositionIds adaptionIds bridgeIds interludeIds)) (append poetIds translatorIds (map car versePoetData) composerIds (map car verseComposerData) refComposerIds (map car voiceComposerData) compositionIds adaptionIds bridgeIds interludeIds))
)) ))
(let* (let*
( (
@@ -377,6 +378,7 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
(versePoetData (find-author-id-with-part-numbers 'verse authors)) (versePoetData (find-author-id-with-part-numbers 'verse authors))
(composerIds (find-author-ids-by 'melody authors)) (composerIds (find-author-ids-by 'melody authors))
(verseComposerData (find-author-id-with-part-numbers 'meloverse authors)) (verseComposerData (find-author-id-with-part-numbers 'meloverse authors))
(refComposerIds (find-author-ids-by 'meloref authors))
(voiceComposerData (find-author-id-with-part-numbers 'voice authors)) (voiceComposerData (find-author-id-with-part-numbers 'voice authors))
(compositionIds (find-author-ids-by 'composition authors)) (compositionIds (find-author-ids-by 'composition authors))
(adaptionTextIds (find-author-ids-by 'adaption_text authors)) (adaptionTextIds (find-author-ids-by 'adaption_text authors))
@@ -398,7 +400,7 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
(headervar-or-empty 'categories) (headervar-or-empty 'categories)
(format-authors (append poetIds adaptionTextIds (map car versePoetData))) (format-authors (append poetIds adaptionTextIds (map car versePoetData)))
(format-authors translatorIds) (format-authors translatorIds)
(format-authors (append composerIds compositionIds adaptionMusicIds bridgeIds interludeIds (map car voiceComposerData) (map car verseComposerData))) (format-authors (append composerIds compositionIds adaptionMusicIds bridgeIds interludeIds (map car voiceComposerData) (map car verseComposerData) refComposerIds))
(headervar-or-empty 'year_text) (headervar-or-empty 'year_text)
(headervar-or-empty 'year_melody) (headervar-or-empty 'year_melody)
(headervar-or-empty 'year_translation) (headervar-or-empty 'year_translation)