Hi everyone,
I'm using this nice function to add a right-aligned text that states the number
of repeats of a repeat block:
repeatMark =
#(define-music-function
(parser location volte visible)
(number? boolean?)
(if visible
#{
\once \override Score.RehearsalMark #'break-visibility =
#begin-of-line-invisible
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
\once \override Score.RehearsalMark #'font-size = #0
\mark \markup $(string-join (list "repeat" (number->string volte)
"times"))
#}
#{ #}
))
It is called with this code at the end of a section
\repeatMark #4 ##t % writes "repeat 4 times"
I usually wrote section name using a markup on single notes (a1^\markup{ \bold
Intro}). Now I'm separating the various song sections in different variables.
Since the same section can be used, e.g., as a chorus and during the solo, I
need to write the section name using a \mark before the section in the main
score. This unfortunately generates a "multiple mark" error when repeats are
involved.
Here is an example code:
%%%%%%%%%%%%%%%%%%%%%%%
\version "2.18.0"
chorus = \relative c'' { c d e c | c d e c | \break}
verse = \relative c'' { c c d d | c c d d | \break }
repeatMark =
#(define-music-function
(parser location volte visible)
(number? boolean?)
(if visible
#{
\once \override Score.RehearsalMark #'break-visibility =
#begin-of-line-invisible
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
\once \override Score.RehearsalMark #'font-size = #0
\mark \markup $(string-join (list "repeat" (number->string volte)
"times"))
#}
#{ #}
))
song =
{
\new Staff
{
\verse
\repeat volta 4
{
\mark "Chorus"
\chorus
\repeatMark #4 ##t
}
\repeat volta 6
{
\mark "Solo"
\chorus
\repeatMark #6 ##t
}
}
}
\score {
\song
}
%%%%%%%%%%%%%%%%%%%%%%%
Here, the "Solo" mark is dropped, due to the previous \repeatMark. What I want
is to have the "Solo" mark written like the "Chorus" one. And, of course, the
"reapeat N times" mark, too.
Is there a better (more correct) approach to get this behavior? Maybe with a
little different \repeatMark function...
Thanks!
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user