|  |  | @@ -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 | 
			
		
	
	
		
		
			
				
					
					|  |  |   |