Kieren MacMillan <kieren_macmil...@sympatico.ca> writes:

> Hi Ivan,
>
>> I suspect the error message is because of the way
>> the voices are laid out:  Beat one is written
>> as two lilypond-voices
>
> You need to explicitly extantiate the voices, so that the first voice is the 
> main one:
>
> %%%%  SNIPPET BEGINS
> \version "2.19.64"
> \include "english.ly"
>
> themusic = {
>   \clef "treble_8"
>   <<
>     { \voiceOne <a d'>8[ <bf df'>8]\< }
>     \\
>     \new Voice { \voiceTwo f,4 }
>   >> \oneVoice
>   <ef b  fs'>8
>   <d  bf g'>8\f
>   \times 2/3 { af'16\ff ef'16 c16 }
>   <e, b g'>4.
> }
>
> { \themusic }
> %%%%  SNIPPET ENDS
>
> Hope this helps,
> Kieren.

Unlikely, since it works by accident more than anything else.  To wit,
writing

\new Voice { \themusic }

already breaks it, and so would most other changes.  The problem is that
you kept "\\" around which then creates an implicit \context Voice = "1"
which then only survives into the common part because LilyPond will not
let every voice die but keep the first one around.

Removing \\ would be good, but here is a nicer way (given a recent
enough version of LilyPond) that doesn't and is a bit more transparent
about what it does:

\version "2.19.64"
\include "english.ly"

themusic = {
  \clef "treble_8"
  \voices "main",2
  <<
    { \voiceOne <a d'>8[ <bf df'>8]\< \oneVoice }
    \\
    { f,4 }
  >>
  <ef b  fs'>8
  <d  bf g'>8\f
  \times 2/3 { af'16\ff ef'16 c16 }
  <e, b g'>4.
}

\new Voice = "main" { \themusic }

-- 
David Kastrup
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to