Clearly a serious bug!
To make this bug report complete, I include a small but complete
example of this bug:
\version "2.5.31"
\score {
\context ChoirStaff <<
\new Voice {c d e f}
\new Voice {c d e f}
>>
}
The easiest workaround for you is to explicitly specify where you
want to have new staves:
\score {
\context ChoirStaff <<
\new Staff {
\context Voice = discantusNotes << \global \discantusNotes >>
}
\context Lyrics = discantusLyrics \lyricsto discantusNotes
\discantusLyrics
...
>>
Back to the bug! ChoirStaff (InnerChoirStaff to be precise) does have
the setting
\defaultchild "Staff"
but a few lines earlier in ly/engraver-init.ly, the DrumStaff context
is defined with
\alias Staff
meaning that DrumStaff should be treated like Staff in some sense.
What really confuses me is that the DrumStaff shouldn't accept
Voice contexts.
/Mats
Imruska wrote:
It would be helpful if you'd post the contents of your \score block.
\score {
\context ChoirStaff <<
\context Voice = discantusNotes << \global \discantusNotes >>
\context Lyrics = discantusLyrics \lyricsto discantusNotes
{ discantusLyrics }
\context Voice = altusNotes << \global \altusNotes >>
\context Lyrics = altusLyrics \lyricsto altusNotes { \altusLyrics }
\context Voice = tenorNotes << \global \tenorNotes >>
\context Lyrics = tenorLyrics \lyricsto tenorNotes { \tenorLyrics }
\context Voice = bassusNotes << \global \bassusNotes >>
\context Lyrics = bassusLyrics \lyricsto bassusNotes { \bassusLyrics } >>
\layout {
...
}
}
This worked fine in 2.4.x. I took this from the manual Chapter 3.5.1
Ancient Notation where it started as \context StaffGroup = choirStaff
and I changed it into \context ChoirStaff
I think I encountered this a couple weeks back too. It worked fine
once I explicitly created Lyrics contexts and assigned them to
explicitly-created Staff contexts which were then assigned to the
ChoirStaff. At the time I didn't experiment further because it Just
Worked(TM).
Finally I was able to solve this problem by the way suggested by you.
Fortunately, I once saw in a score how the single staves have been
created outside the \score block, and were only put together within it.
So the solution is: outside the \score block
discantusstaff = \context Staff = "discantus" <<
\global
\context Voice = "discantus"
{ \discantusNotes }
\context Lyrics = discantusLyrics
\lyricmode <<
\lyricsto "discantus"
{ \discantusLyrics }
>>
>>
the same for altus, tenor and bassus then
within the \score block
\context ChoirStaff <<
\discantusstaff
\altusstaff
\tenorstaff
\bassusstaff
>>
I believe, however, that the fact Lilypond 2.5.30 creates a
DrumStaff where it is explicitly told to create a ChoirStaff is a bug.
Well, the Lilypond manual was not exactly helpful in this matter.
At the sections 3.4.1 and 3.4.2 "SATB vocal score" and "SATB vocal score
and automatic piano reduction" it has examples only for a score where
the 4-part vocal music is notated in 2 staves, one for women's voices,
one for men's voices, and not in an individual staff for each part, so I
disregarded them completely.
I was further confused by Chapter 6.3.7 System Start Delimiter, which
mentions GrandStaff, StaffGroup and Staff. It says that you can use a
Bracket as a SSD with StaffGroup where the barlines are connected
throughout the staves. It does not mention ChoirStaff, so I feared this
option has been removed from Lilypond 2.5.x. (I did not know 2.5.x, as
up till now I have been using 2.4.x, I installed 2.5.29, then 2.5.30
about a week ago.)
Imre
_______________________________________________
bug-lilypond mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-lilypond
--
=============================================
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44 STOCKHOLM
Sweden
Phone: (+46) 8 790 8463
Fax: (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=============================================
_______________________________________________
bug-lilypond mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-lilypond