[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re: Lyrics and alternative repeats default behavior
From:       Pekka Siponen <pekka.siponen () bastu ! net>
Date:       2009-03-31 16:10:15
Message-ID: 49D24067.5090500 () bastu ! net
[Download RAW message or body]

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 }
 >>
}



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic