|
|
|
@@ -72,6 +72,8 @@ generalLayout = \layout {
|
|
|
|
\override Stem.layer = 2
|
|
|
|
\override Stem.layer = 2
|
|
|
|
\override Flag.layer = 2
|
|
|
|
\override Flag.layer = 2
|
|
|
|
\override Beam.layer = 2
|
|
|
|
\override Beam.layer = 2
|
|
|
|
|
|
|
|
\override Slur.layer = 2
|
|
|
|
|
|
|
|
\override Tie.layer = 2
|
|
|
|
\override Accidental.layer = 2
|
|
|
|
\override Accidental.layer = 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -89,6 +91,8 @@ secondVoiceStyle = {
|
|
|
|
\override Stem.color = #grey
|
|
|
|
\override Stem.color = #grey
|
|
|
|
\override Flag.color = #grey
|
|
|
|
\override Flag.color = #grey
|
|
|
|
\override Beam.color = #grey
|
|
|
|
\override Beam.color = #grey
|
|
|
|
|
|
|
|
\override Slur.color = #grey
|
|
|
|
|
|
|
|
\override Tie.color = #grey
|
|
|
|
\override Accidental.color = #grey
|
|
|
|
\override Accidental.color = #grey
|
|
|
|
\override NoteHead.layer = 1
|
|
|
|
\override NoteHead.layer = 1
|
|
|
|
\override Rest.layer = 1
|
|
|
|
\override Rest.layer = 1
|
|
|
|
@@ -96,6 +100,8 @@ secondVoiceStyle = {
|
|
|
|
\override Stem.layer = 1
|
|
|
|
\override Stem.layer = 1
|
|
|
|
\override Flag.layer = 1
|
|
|
|
\override Flag.layer = 1
|
|
|
|
\override Beam.layer = 1
|
|
|
|
\override Beam.layer = 1
|
|
|
|
|
|
|
|
\override Slur.layer = 1
|
|
|
|
|
|
|
|
\override Tie.layer = 1
|
|
|
|
\override Accidental.layer = 1
|
|
|
|
\override Accidental.layer = 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -106,6 +112,8 @@ firstVoiceStyle = {
|
|
|
|
\override Stem.color = #black
|
|
|
|
\override Stem.color = #black
|
|
|
|
\override Flag.color = #black
|
|
|
|
\override Flag.color = #black
|
|
|
|
\override Beam.color = #black
|
|
|
|
\override Beam.color = #black
|
|
|
|
|
|
|
|
\override Slur.color = #black
|
|
|
|
|
|
|
|
\override Tie.color = #black
|
|
|
|
\override Accidental.color = #black
|
|
|
|
\override Accidental.color = #black
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -119,23 +127,23 @@ romanStanza =
|
|
|
|
#{ \override StanzaNumber.style = #'roman #})
|
|
|
|
#{ \override StanzaNumber.style = #'roman #})
|
|
|
|
|
|
|
|
|
|
|
|
override-stanza =
|
|
|
|
override-stanza =
|
|
|
|
#(define-music-function (parser location stanzanumber) (number?)
|
|
|
|
#(define-music-function (parser location stanzanumbers) (number-list?)
|
|
|
|
#{
|
|
|
|
#{
|
|
|
|
\once \override StanzaNumber.forced-spacing = #stanzanumber % misuse property "forced-spacing" to override the stanzanumber
|
|
|
|
\once \override StanzaNumber.details.custom-stanzanumber-override = #stanzanumbers
|
|
|
|
#}
|
|
|
|
#}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
#(define (stanza . stanzanumbers)
|
|
|
|
#(define (stanza . stanzanumbers)
|
|
|
|
#{
|
|
|
|
#{
|
|
|
|
\once \override StanzaNumber.layer = 23 % set this to signal that there is a real stanza and no repeat signs
|
|
|
|
\once \override StanzaNumber.details.custom-realstanza = ##t % set this to signal that there is a real stanza and no repeat signs
|
|
|
|
\applyContext
|
|
|
|
\applyContext
|
|
|
|
#(lambda (context)
|
|
|
|
#(lambda (context)
|
|
|
|
(let* ((stanzanumber-override (ly:assoc-get 'forced-spacing (ly:context-grob-definition context 'StanzaNumber) #f))
|
|
|
|
(let* ((stanzanumbers-override (ly:assoc-get 'custom-stanzanumber-override (ly:assoc-get 'details (ly:context-grob-definition context 'StanzaNumber) '()) #f))
|
|
|
|
(stanza-style (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber)))
|
|
|
|
(stanza-style (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber)))
|
|
|
|
(stanza-format (lambda (stanzanumber) (format #f (if (eq? stanza-style 'roman) romanStanzaFormat stanzaFormat) stanzanumber))))
|
|
|
|
(stanza-format (lambda (stanzanumber) (format #f (if (eq? stanza-style 'roman) romanStanzaFormat stanzaFormat) stanzanumber))))
|
|
|
|
(ly:context-set-property! context 'stanza
|
|
|
|
(ly:context-set-property! context 'stanza
|
|
|
|
(string-join (map stanza-format
|
|
|
|
(string-join (map stanza-format
|
|
|
|
(if stanzanumber-override (list stanzanumber-override) stanzanumbers))
|
|
|
|
(if stanzanumbers-override stanzanumbers-override stanzanumbers))
|
|
|
|
", "))))
|
|
|
|
", "))))
|
|
|
|
#}
|
|
|
|
#}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
@@ -143,7 +151,7 @@ override-stanza =
|
|
|
|
ref =
|
|
|
|
ref =
|
|
|
|
#(define-music-function (stanzanumbers lyrics) ((number-list? (list)) ly:music?)
|
|
|
|
#(define-music-function (stanzanumbers lyrics) ((number-list? (list)) ly:music?)
|
|
|
|
#{ \lyricmode {
|
|
|
|
#{ \lyricmode {
|
|
|
|
\once \override StanzaNumber.layer = 23 % set this to signal that there is a real stanza and no repeat signs
|
|
|
|
\once \override StanzaNumber.details.custom-realstanza = ##t % set this to signal that there is a real stanza and no repeat signs
|
|
|
|
\set stanza = #(make-on-the-fly-markup (lambda (layout props m) ((ly:output-def-lookup layout 'refMarkupFormatter) layout props stanzanumbers)) (make-null-markup))
|
|
|
|
\set stanza = #(make-on-the-fly-markup (lambda (layout props m) ((ly:output-def-lookup layout 'refMarkupFormatter) layout props stanzanumbers)) (make-null-markup))
|
|
|
|
#lyrics
|
|
|
|
#lyrics
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -151,13 +159,13 @@ ref =
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
% prints a repStart Sign as stanza if the tag 'repeats is kept.
|
|
|
|
% prints a repStart Sign as stanza if the tag 'repeats is kept.
|
|
|
|
% if there was a stanza already set by the stanza function with StanzaNumber.layer = 23 we set that also as stanza.
|
|
|
|
% if there was a stanza already set by the stanza function with StanzaNumber.details.custom-realstanza = ##t we set that also as stanza.
|
|
|
|
repStartWithTag = \lyricmode {
|
|
|
|
repStartWithTag = \lyricmode {
|
|
|
|
\tag #'repeats {
|
|
|
|
\tag #'repeats {
|
|
|
|
\applyContext
|
|
|
|
\applyContext
|
|
|
|
#(lambda (context)
|
|
|
|
#(lambda (context)
|
|
|
|
(let ((lastStanza (ly:context-property context 'stanza))
|
|
|
|
(let ((lastStanza (ly:context-property context 'stanza))
|
|
|
|
(printLastStanza (= (ly:assoc-get 'layer (ly:context-grob-definition context 'StanzaNumber) 0) 23))
|
|
|
|
(printLastStanza (ly:assoc-get 'custom-realstanza (ly:assoc-get 'details (ly:context-grob-definition context 'StanzaNumber) '()) #f))
|
|
|
|
(stanzaFontSeries (ly:assoc-get 'font-series (ly:context-grob-definition context 'StanzaNumber) 'normal)))
|
|
|
|
(stanzaFontSeries (ly:assoc-get 'font-series (ly:context-grob-definition context 'StanzaNumber) 'normal)))
|
|
|
|
(ly:context-set-property! context 'stanza
|
|
|
|
(ly:context-set-property! context 'stanza
|
|
|
|
(make-concat-markup
|
|
|
|
(make-concat-markup
|
|
|
|
|