lilypond-user
[Top][All Lists]
Advanced

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

Re: Problem ordering staves


From: tisimst
Subject: Re: Problem ordering staves
Date: Sat, 5 Jul 2014 15:35:15 -0700 (PDT)

Patrick or Cynthia Karl-2 wrote
> I'm trying to do a score where one group of instruments splits and plays
> different music for a while.  I guess that this might be an instance of
> "ostia", but I am required to place the new music on two staves in their
> own staff group.  What I came up with is the following:
> 
>> \version "2.18.2"
>> 
>> A =   \relative b' {
>>      \set Staff.instrumentName = #"A"
>> 
>>      \repeat unfold 4 { c d e f }
>>      \break
>>      \new ChoirStaff {<<
>>              \set ChoirStaff.systemStartDelimiter = #'SystemStartBrace
>>              \set ChoirStaff.shortInstrumentName = #"A"
>>              \new Staff { \repeat unfold 4 { c d e f } }
>>              \new Staff { \repeat unfold 4 { f e d c } }
>>      >>}
>> }
>> 
>> T = \relative b' {
>>      \set Staff.instrumentName = #"T"
>>      \set Staff.shortInstrumentName = #"T"
>>      \repeat unfold 8 { b b b b }
>> }
>>      
>> \score {
>>      \new ChoirStaff <<
>>              \new Staff { \A  }
>>              \new Staff { \T }
>>      >>
>>      \layout {\context { \Staff \RemoveEmptyStaves} }
>> }
> 
> This works almost perfectly.  The only problem is that the order of the
> staves after the break is reversed from what I want, i.e., in the first
> system the A staff is above the T staff, but in the second system, the T
> staff is above the group of A staves.  I am attaching a png of the above
> example.
> 
> I can see that somehow the new ChoirStaff is independent of the A staff,
> which is why I am using the command \RemoveEmptyStafes; without it an
> empty staff occupies the position above the T staff.
> 
> How can I get the ChoirStaff staves to appear above the T staff in the
> second system?

Here's how I would do it, which seems to work very well when I have had to
do something like this:

\version "2.18.2"

A = \relative b' {
  \set Staff.instrumentName = #"A"
  \set Staff.shortInstrumentName = #"A"
  \repeat unfold 4 { c4 d e f }
  \break
  \repeat unfold 4 { s1 }
  \break
  \repeat unfold 4 { c4 d e f }
}

Aa = \relative b' {
  \repeat unfold 4 { s1 }
  \repeat unfold 4 { c4 d e f }
  \repeat unfold 4 { s1 }
}

Ab = \relative b' { 
  \repeat unfold 4 { s1 }
  \repeat unfold 4 { f4 e d c } 
  \repeat unfold 4 { s1 }
}

T = \relative b' {
  \set Staff.instrumentName = #"T"
  \set Staff.shortInstrumentName = #"T"
  \repeat unfold 12 { b4 b b b }
}
        
\score {
  \new ChoirStaff <<
    \new Staff { \A }
    \new ChoirStaff { 
      \set ChoirStaff.systemStartDelimiter = #'SystemStartBrace
      \set ChoirStaff.shortInstrumentName = #"A"
      <<
        \new Staff \Aa
        \new Staff \Ab
      >>
    }
    \new Staff { \T }
  >>
  \layout {
    \context { 
      \Staff
      \RemoveEmptyStaves
      \override VerticalAxisGroup #'remove-first = ##t  % required for this
solution
    } 
  }
}

which gives:

<http://lilypond.1069038.n5.nabble.com/file/n164051/temporary-staff-split-solution.png>
 

Look that over and see if that philosophy works for you.

Regards,
Abraham



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Problem-ordering-staves-tp164044p164051.html
Sent from the User mailing list archive at Nabble.com.



reply via email to

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