[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lyrics and alternative repeats default behavior
From: |
Pekka Siponen |
Subject: |
Re: Lyrics and alternative repeats default behavior |
Date: |
Tue, 31 Mar 2009 19:10:15 +0300 |
User-agent: |
Thunderbird 2.0.0.21 (Macintosh/20090302) |
Tim McNamara wrote:
I still find a problem with this approach; the second stanza is not
connected to second ending..
Sure it is, but you'd put those words in the second \alternative
ending. Looks a little odd in the source code, but the point of the
source code is to render into good output on the page and not how the
source code itself looks.
If I wanted to put a longer word accross the barline, it wouldn't
work..? Also this approach seems a little like something to trick
LilyPond with to make it look ok. It would be nice if the syntax was
more focused on the content and LilyPond would worry about the output
with good default settings. At least in simple examples like this one.
So.. what if the "words" were longer like this?
\new Lyrics \lyricsto "alku" {
cx dx ex fx gx ax bx -- cx -- dI -- eI fI gI
cy dy ey fy gy ay by -- cy -- dII -- cII bII aII
}
My experience is that LilyPond does not easily handle lyrics crossing
bar lines from the end of the first \alternative back to the top of
the song, especially if there is a pickup note, but that may be my
coding skills and not a problem in LilyPond itself (it may also be a
limitation of using \addlyrics, which is the method I usually use).
Hi Tim =)
In my opinion there is great importance how the source code looks,
especially in a program like lilypond, where all the input is done by
hand, not by a program with a fancy user interface. Thus the syntax
should be as user friendly as possible. Take XHTML for example, its main
purpose is to define structure and content, not declare how everything
should look. Maybe LilyPond should aim for the same thing..? =P
This is the best that I have been able to come up with yet and it is not
pretty..
\version "2.12.2"
\score { <<
\new Voice = "melody" \relative c' {
{ \partial 2 c2 }
\new Voice = "verse" \relative c' {
\repeat volta 2 {c4 d e f | g1 | }
\alternative { { c2 d } { e2 f } }
}
\relative c''' { a2 b | c1 }
}
\new Lyrics = "mainlyrics" \lyricsto melody {
pick
la si do }
\context Lyrics = "mainlyrics" \lyricsto verse {
\repeat volta 2 { do re mi fa sol }
\alternative { { dom rem } { mim fam } }
}
\new Lyrics = "repeatlyrics" \lyricsto verse {
dodo rere mimi fafa solsol- }
>>
}
Or a more logical variation (still not pretty):
\version "2.12.2"
\score { <<
\new Voice = "melody" \relative c' {
\new Voice = "pickup" { \partial 2 c2 }
\new Voice = "verse" \relative c' {
\repeat volta 2 {c4 d e f | g1 | }
\alternative { { c2 d } { e2 f } }
}
\new Voice = "end" \relative c''' { a2 b | c1 }
}
\new Lyrics = "firstline" \lyricsto pickup { pick }
\context Lyrics = "firstline" \lyricsto verse {
\repeat volta 2 { do re mi fa sol }
\alternative { { dom rem } { mim fam } }
}
\new Lyrics = "secondline" \lyricsto verse {
dodo rere mimi fafa solsol- }
\context Lyrics = "firstline" \lyricsto end { la si do }
>>
}