lilypond-user
[Top][All Lists]
Advanced

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

The limits of StaffGroup nesting


From: Trevor Bača
Subject: The limits of StaffGroup nesting
Date: Fri, 11 Nov 2005 16:25:43 -0600

Large orchestral scores sometimes nest StaffGroups fairly deeply. The
Rite of Spring has some stuff in the winds, with, for example, flutes
spread over four staves in the following way: piccolo getting its own
staff; 2 C flutes, each getting a staff and grouped together in a
staff group; alto flute in G getting its own staff; all three of those
staff groups grouped together in turn into a larger staff group; and
then maybe grouping into an even larger group or choir for the winds
as a whole. (Don't have the actual score in front of me at the office,
but you get the idea).

StaffGroups of StaffGroups seem to be limited 2-deep in Lily's current
implementation:

A StaffGroup containing an InnerStaffGroup renders the expected system
start brackets around the expected Staves:

======= Begin StaffGroup with InnerStaffGroup snippet ========

\new StaffGroup { <<

      \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }
      \new InnerStaffGroup { <<
         \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }
         \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }
      >> }
      \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }

>> }

======= End StaffGroup with InnerStaffGroup snippet ========

The InnerStaffGroup system start bracket needs manual nudging to the
left, but both brackets are present around the expected staves.


Adding another InnerStaffGroup doesn't do what we might expect, however:

======= Begin StaffGroup with nested InnerStaffGroup snippet ========

\new StaffGroup { <<

      \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }
      \new InnerStaffGroup { <<
         \new Staff { \repeat unfold 16 { d'4 d'4 d'4 d'4 } }
         \new InnerStaffGroup { <<
            \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }
            \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }
         >> }
      >> }
      \new Staff { \repeat unfold 16 { c'4 c'4 c'4 c'4 } }

>> }

======= Begin StaffGroup with nested InnerStaffGroup snippet ========

The snippet just above should render three separate system start
brackets, with the innermost around staves 3 & 4 (counting from top to
bottom), the middle around staves 2, 3 & 4, and the outermost around
all five staves. Instead, the inner- and outermost brackets render
while the middle bracket doesn't.

I'm guessing that arbitrarily deep nesting of StaffGroups probably
hasn't made it to Lily yet but might be on the implementation list? Or
am I missing something and there is, in fact, a not-too-hacked way to
conjure up this sort of thing?

Han-Wen, if arbitrarily deep StaffGroup nesting isn't currently
possible would you consider adding it to the LSD sponsor page?



--
Trevor Bača
address@hidden

reply via email to

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