On Wednesday 05 May 2004 23.20, Yuval Harel wrote:
> Hello,
>
> I'm having trouble with using slurs where the number of voices changes
> during the slur.
> A simple example:
>       <<
>               g4( \\
>               e
>
>       fis
>       <<
>               g) \\
>               f
>
> This yields:
>       /home/UV/1.ly:5:6: warning: unterminated slur:
>                                         g4
>                                     ( \\
>
>       /home/UV/1.ly:10:5: warning: can't find start of slur:
>                                     g
>                                        ) \\
> And of course, the slur doesn't show.

A slur belongs to a Voice context. With << \\ >>, new voices (called "1" and 
"2"), are created implicitly. The slur is started in voice 1, which ends 
before the fis, and is resurrected in the <<g)\\f>>.

Since the slur goes over both the g:s and the fis, the fis does probably 
belong to the same voice as the g:s musically, so I suspect that what you 
really want might be the following:
<< { g4( fis g) } \\ {e s f } >>
(which means that the e and f are not slurred, but {g fis g} are)

If this is _not_ what you want, and you want the fis to be a separate voice, 
then you could solve it e.g. by
<<
   {s fis s} % fis gets the default voice
   << {g4( s g)} \\
      {e s f} >>
>>

or, you could add a skip rest to extends the life span of the "1" voice:

<< g4( \\ e >>
<< fis \context Voice="1" s>>
<< g) \\ f >>

>   - Is there a way to make such slurs work without forcing the number of
> voices to remain constant?

The slur must start and end in the same voice, and that voice must exist while 
the slur is active. This is very natural, since the standard meaning of slur 
is that it binds notes together within one voice.

Hope this helps,
Erik


_______________________________________________
lilypond-user mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-user

Reply via email to