bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ChoirStaff produces DrumStaff in 2.5.30


From: Mats Bengtsson
Subject: Re: ChoirStaff produces DrumStaff in 2.5.30
Date: Thu, 16 Jun 2005 13:07:00 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511

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
address@hidden
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: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================




reply via email to

[Prev in Thread] Current Thread [Next in Thread]