lilypond-devel
[Top][All Lists]
Advanced

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

Re: controlling the spacing *above* a context


From: tisimst
Subject: Re: controlling the spacing *above* a context
Date: Mon, 5 May 2014 06:59:50 -0700 (PDT)

Kieren MacMillan wrote
> I often run into the situation where I have to control the spacing *above*
> a context, independent of what context is there.

I understand your pain...


Kieren MacMillan wrote
> For example, consider a choir score structured as follows:
> 
>     ScoreMarks
>     ChoirStaff <<
>         SA-Lyrics
>         SA-Staff
>         SATB-Lyrics
>         TB-Staff
>         TB-Lyrics
>     >>
>     ScoreMarksForReduction
>     Reduction <<
>         ReductionUpperStaff
>         ReductionLowerStaff
>     >>
> 
> I want to control the amount of padding *above* the ScoreMarksForReduction
> context. 

Not sure if this is what you are looking for, but it seems like I saw the
solution as I read through the Notation and Snippets documentation. Your
pseudo-score structure looks a lot like that in the  notation documentation
<http://www.lilypond.org/doc/v2.18/Documentation/notation/flexible-vertical-spacing-within-systems#spacing-of-grouped-staves>
 
. Since you are specifically dealing with StaffGroups (like ChoirStaff and
PianoStaff), one of the easiest ways of controlling the distance between two
StaffGroups, regardless of what's in-between (including the TB-Lyrics), is
to include

\with { 
  \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
}

to the StaffGroup ABOVE the context (the ChoirStaff, in your case) and
adjusting the number to your taste. Here's a full example (modified from the 
snippets documentation
<http://www.lilypond.org/doc/v2.18/Documentation/snippets/vocal-music#vocal-music-vocal-ensemble-template-with-automatic-piano-reduction>
 
):

\paper {
  top-system-spacing #'basic-distance = #10
  score-system-spacing #'basic-distance = #20
  system-system-spacing #'basic-distance = #20
  last-bottom-spacing #'basic-distance = #10
}

global = {
  \key c \major
  \time 4/4
}

sopMusic = \relative c'' {
  c4 c c8[( b)] c4
}
sopWords = \lyricmode {
  hi hi hi hi
}

altoMusic = \relative c' {
  e4 f d e
}
altoWords =\lyricmode {
  ha ha ha ha
}

tenorMusic = \relative c' {
  g4 a f g
}
tenorWords = \lyricmode {
  hu hu hu hu
}

bassMusic = \relative c {
  c4 c g c
}
bassWords = \lyricmode {
  ho ho ho ho
}

\score {
  <<
    \new ChoirStaff \with {
      \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #15
    } <<
      \new Lyrics = "sopranos" \with {
        % This is needed for lyrics above a staff
        \override VerticalAxisGroup.staff-affinity = #DOWN
      }
      \new Staff = "women" <<
        \new Voice = "sopranos" { \voiceOne << \global \sopMusic >> }
        \new Voice = "altos" { \voiceTwo << \global \altoMusic >> }
      >>
      \new Lyrics = "altos"
      \new Lyrics = "tenors" \with {
        % This is needed for lyrics above a staff
        \override VerticalAxisGroup.staff-affinity = #DOWN
      }

      \new Staff = "men" <<
        \clef bass
        \new Voice = "tenors" { \voiceOne << \global \tenorMusic >> }
        \new Voice = "basses" { \voiceTwo << \global \bassMusic >> }
      >>
      \new Lyrics = "basses"
      \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords
      \context Lyrics = "altos" \lyricsto "altos" \altoWords
      \context Lyrics = "tenors" \lyricsto "tenors" \tenorWords
      \context Lyrics = "basses" \lyricsto "basses" \bassWords
    >>
    \new PianoStaff <<
      \new Staff <<
        \set Staff.printPartCombineTexts = ##f
        \partcombine
        << \global \sopMusic >>
        << \global \altoMusic >>
      >>
      \new Staff <<
        \clef bass
        \set Staff.printPartCombineTexts = ##f
        \partcombine
        << \global \tenorMusic >>
        << \global \bassMusic >>
      >>
    >>
  >>
}

Sorry if I misunderstood/didn't answer your exact question.

Regards,
Abraham



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/controlling-the-spacing-above-a-context-tp162071p162082.html
Sent from the Dev mailing list archive at Nabble.com.



reply via email to

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