[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lyrics bug (quite complicated)
From: |
Renato |
Subject: |
Re: Lyrics bug (quite complicated) |
Date: |
Mon, 18 Jun 2012 11:37:59 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Phil Holmes <mail <at> philholmes.net> writes:
>
>
> "Renato" <renyhp <at> hotmail.it> wrote in message
> news:loom.20120618T102211-108 <at> post.gmane.org...
> >> I'm not top posting.
> > I think this is quite important...
> > Explaining in theory is very complicated - an example should clarify.
> > This makes lilypond crash and make no output.
> >
> > <<
> > \new Voice = "a" {
> > \new Voice = "b" {c2( d2)}
> > r4 r4 c2
> > }
> > \new Lyrics \lyricsto "b" {
> > \set associatedVoice = "a" Aaa __
> > Bbb
> > }
> >>>
> >
> > If you change "r4 r4" with "r2", lilypond works - it crashes only with two
> > rests in that point.
> > It works also if you remove the melismata or the extender on the "Aaa".
> > Obviously if you add some music before the "b" Voice the Lyrics can be
> > associated with "a" and then switch to "b", but lilypond crashes when
> > trying to print "Bbb" in the "a" Voice.
> >
> > This seems to be fixed if you add another Voice context (and name it)
> > on the "r4 r4 c2" bar and switch to this Voice rather than the main.
>
> I can confirm it crashes versions between 2.12.2 and 2.15.33 - I've not
> tried wider. It looks odd code to me - why are the voices nested like that?
> Why have lyricsto a and then _immediately_ switch to b? There's also the
> note in the NR about associatedVoice: "\set associatedVoice = "two" % must
> be set one syllable early" - it looks lie this attempts to change the
> associated voice at the first syllable, which - by definition - can't be one
> syllable early.
>
Yes, you're right. Obviously I didn't use this in _this_ way.
My "original" code was something like this:
<<
\new Voice = "piece" {
...
<<
\new Voice = "singer" {...}
{}
>>
}
\new Lyrics \lyricsto "piece" {
...
\set associatedVoice = "singer"
...
\set associatedVoice = "piece"
}
>>
Anyway, I know the "must be one syllable early" note, and in fact in the
example the Aaa is expected to be under the c2( d2) - the "b" Voice! - because
_Bbb_ switches to the "a" Voice.