|
| 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 >>
\addlyrics { \words }
>>
}
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
| [Prev in Thread] | Current Thread | [Next in Thread] |