Hi all
In the Notation manual is described how to manage Lyrics in Repeat
conditions. It shows examples the Repeat section following an initial
part of music. There are also examples when the Repeat starts the piece
and then followed by more music. But if you are searching the
combination of these two you search in vain. This was really what I
wanted, an initial part before the Repeat then a couple of alternatives
and an ending part outside of the repeat and alternatives. Well I
understand the author of the manual who left this case aside, because
the solution I succeeded to find does not agree with the normal rules
described in the manual. The rule with repeated { \skip 1 } was changed.
Instead of counting individual tones, you now has to define whole
measures. If you do not, the text is gliding away, possibly of the
score, it vanishes and you cannot find it! I suppose this is a bug that
ought to be corrected.
Another observation is that \lyricsto adds an extra space at the start
in the case that you define an new lyric at the beginning of the
\repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent
with '\new Lyric { \set associatedVoice = "melody" '. This too ought to
be a bug.
To find this took of course a quite lot of time, and I am still not
shure I have catched the full truth. In the following examlple I have
used variables for the lyrics, just to test that it work, and it does.
The interested can also test removing the "% " before the \lyricsto to
see the consequence.
I am running LilyPond version 2.21.0 via Frescobaldi. Appended an image
of the Music example.
Kaj P
\version "2.22.0"
ta = \lyricmode {
% Not re -- peat -- ed.
a a a a }
tb = \lyricmode {
% The first time words.
b b b b }
tc = \lyricmode {
% Sec -- ond time words.
c c c c }
tx = \lyricmode {
x x x x }
ty = \lyricmode {
y y y y }
tz = \lyricmode {
z z z z }
\score {
<<
\new Staff {
\new Voice = "melody" {
\relative {
a'4 a a a
\repeat volta 2 { b4 b b b }
\alternative {
{ c,4 c c c c c c c }
{ d4 d d d }
}
e4 e e e
}
}
}
\new Lyrics \lyricsto "melody" {
\ta
<<
{ \tb \tx \tx \tx \repeat unfold 1 { \skip 1 } \tz }
\new Lyrics % \lyricsto "melody"
{
\set associatydVoice = "melody"
\tc
\repeat unfold 3 { \skip 1 }
\ty
}
>>
}
>>
}