Doug Asherman <address@hidden> writes:
Ferenc Wagner <address@hidden> writes:
I get
warning: cannot find Voice: choir
when compiling the attached file. The output nevertheless
seems good. The warning disappears if I comment out the
\set command. Where should I put it to avoid warnings?
\version "2.2.1"
\score {
<<
\new Staff {
\set Staff.midiInstrument = "choir aahs"
\context Voice = "choir" \notes { c' d' }
}
\lyricsto "choir" \new Lyrics \lyrics { du dumm }
>>
}
You need to "group" the directives; instead of
\new Staff {
\set blah woof
\blah blah
}
try
\new Staff <<
\set blah woof
\etc etc
>>
Hope this helps.
Indeed it does, thanks! However, I can't say I understand
why. Is the semantics of the LilyPond input language
discussed somewhere in the manual? As a moderately
experienced user I don't feel like I know what I'm doing
when writing LilyPond sources. Most of the time I got what
I want, but sometimes I have to guess or even ask. :) Seems
like I miss a piece of documentation. I can't think of
LilyPond as a programming language, which it looks like.
Reading this newsgroup make me think I'm not alone. I miss
a definition of the language! What does << >> precisely do,
after all? Trying to ignite a constructive discussion...