lilypond-user
[Top][All Lists]

## Re: Lyric problem when alternative begins with a rest

 From: Mats Bengtsson Subject: Re: Lyric problem when alternative begins with a rest Date: Tue, 12 May 2009 17:59:43 +0200 User-agent: Thunderbird 2.0.0.5 (X11/20070716)

```

Kieren MacMillan wrote:
```
```
This is the way I would do it:

\version "2.12.2"
\include "english.ly"

global = {
\repeat volta 2 {
s1
}
\alternative
{
{ s1 }
{ s1 }
}
}

melody = \relative c' {
c4 d e f   |
{ r2 r4 g4 }
{ c,1 }
}

words = \lyricmode {
do re mi fa
{ so }
{ do }
}

\score {
<<
\new Staff << \global \melody >>
>>
}

```
Now, if the structure changes (e.g., you make the volta alternatives ten bars each, instead of one) you only have to change it in one place (i.e., the global variable). [n.b. The {} inside the melody and words variables are, in this version, unnecessary -- however, I find they help my eye to distinguish the structure of the volta.]
This is unfortunately not a good habit and I remember several emails on the mailing lists over the years where people have got problems because they have used this solution. Since I'm getting senile I cannot recall exactly what the problem was (an immediate problem that comes to my mind is that \unfoldRepeats won't work).
```
```
Also, what you do breaks the basic idea that the input to LilyPond should describe the musical content, since the repeats are in integral part of the music. Clearly, the musical meaning of
```\repeat volta 2 {c4 d e f } g1
differs from
c4 d e f g1
```
You seem to view the repeat signs just as notational embellishments, which I don't agree with.
```
```
On the other hand, for the lyrics, it probably solves the original typesetting problems to just remove the \repeat and \alternative from the lyrics. Still I don't find that a completely satisfactory solution. It seems that what happens is that the repeat related commands are attached to the following syllable. Unfortunately, it wouldn't solve the problem to instead attach them to the preceding syllable since that would break if there's a rest before the repeat
```sign.

/Mats

```