lilypond-user
[Top][All Lists]
Advanced

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

Re: GrandStaff vertical distance


From: foxfanfare
Subject: Re: GrandStaff vertical distance
Date: Tue, 9 Oct 2018 14:01:15 -0700 (MST)

Aaron Hill wrote
> On 2018-10-09 7:15 am, foxfanfare wrote:
>> Hi all,
>> 
>> I'm trying to configure a template for my orchestral works but I have a
>> problem with the GrandStaff vertical distance. You can take the 
>> template
>> proposed in the manual to see the problem:
>> http://lilypond.org/doc/v2.19/Documentation/learning/orchestra-choir-and-piano
>> 
>> You can see in the string section, between Violin II and Viola, an 
>> extra
>> space is added due to the use of the brace of the GrandStaff. (Same 
>> problem
>> with the Alti group in the choir).
>> 
>> I have made some ressearch in scores and also in Gould's book, this is 
>> verry
>> unconventional. A space is added between the StaffGroups, but should 
>> not
>> appear within the same family.
>> 
>> How could you properly change that? I tried with:
>> \override GrandStaff.StaffGrouper.staffgroup-staff-spacing = #'(
>>         (basic-distance . 9)
>>         (minimum-distance . 7)
>>         (padding . 1)
>>         (stretchability . 5))
>> 
>> But this will move above AND bellow the GrandStaff. Here is in my score 
>> the
>> illustration of the problem:
>> distance.png 
>> <http://lilypond.1069038.n5.nabble.com/file/t5604/distance.png>
> 
> I can see the same behavior given the default settings; but if you are 
> explicit about your spacing parameters, then it seems the spacing can be 
> forced to be even.  Consider the following contrived example:
> 
> %%%%
> \version "2.19.82"
> 
> notes = { <c' b' a''>1 }
> \score {
>    <<
>      \new Staff \notes
>      \new Staff \notes
>      \new StaffGroup <<
>        \new Staff \notes
>        \new Staff \notes
>        \new GrandStaff <<
>          \new Staff \notes
>          \new Staff \notes
>        >>
>        \new Staff \notes
>        \new Staff \notes
>      >>
>      \new Staff \notes
>      \new Staff \notes
>    >>
>    \layout {
>      \context { \Score
>        \override StaffGrouper.staffgroup-staff-spacing.basic-distance = 
> #9
>      }
>    }
> }
> %%%%
> 
> The default basic-distance for staff groups seems to be roughly 11, but 
> staves normally prefer a basic-distance around 9.  That override above 
> seems to be enough to make my contrived example show (nearly) consistent 
> spacing.
> 
> Another thing that worked was setting the staff-staff-spacing at the 
> \Staff level:
> 
> %%%%
>    \layout {
>      \context { \Staff
>        \override VerticalAxisGroup.staff-staff-spacing.basic-distance = 
> #9
>      }
>    }
> %%%%
> 
> However, this doesn't really make sense to me.  Maybe someone with a 
> better understanding of the internals could determine whether this is 
> expected behavior.  But it seems that the staff-staff-spacing override 
> trumps staffgroup-staff-spacing, which means one loses a degree of 
> freedom if you do want to adjust those independently.  Then again, all 
> the staves are in the same system, so perhaps staff-staff-spacing really 
> should apply regardless of whether or not the staves belong to staff 
> groups.
> 
> 
> -- Aaron Hill
> 
> _______________________________________________
> lilypond-user mailing list

> lilypond-user@

> https://lists.gnu.org/mailman/listinfo/lilypond-user

Hi Aaron, thanks for your reply. I tried your solution but again, it moves
either all the staves, or above and below a grand staff. This isn't the
ideal behaviour.

In the meantime, I found another solution for this, but this doesn't appear
to be the easiest way to do it! I used systemStartDelimiterHierarchy instead
which doesn't add any space within a family group. Again, with the LilyPond
exemple, this will give:

%---
fluteMusic = \relative c' { \key g \major g'1 b }
% Pitches as written on a manuscript for Clarinet in A
% are transposed to concert pitch.
clarinetMusic = \transpose c' a
  \relative c'' { \key bes \major bes1 d }
trumpetMusic = \relative c { \key g \major g''1 b }

% Key signature is often omitted for horns
hornMusic = \transpose c' f
  \relative c { d'1 fis }
percussionMusic = \relative c { \key g \major g1 b }
pianoRHMusic = \relative c { \key g \major g''1 b }
pianoLHMusic = \relative c { \clef bass \key g \major g1 b }
violinIMusic = \relative c' { \key g \major g'1 b }
violinIIMusic = \relative c' { \key g \major g'1 b }
violaMusic = \relative c { \clef alto \key g \major g'1 b }
celloMusic = \relative c { \clef bass \key g \major g1 b }
bassMusic = \relative c { \clef "bass_8" \key g \major g,1 b }

\score {
  <<
    \new StaffGroup = "StaffGroup_woodwinds" <<
      \new Staff = "Staff_flute" \with { instrumentName = #"Flute" }
      \fluteMusic
      \new Staff = "Staff_clarinet" \with {
        instrumentName = \markup { \concat { "Clarinet in B" \flat } }
      }
      % Declare that written Middle C in the music
      % to follow sounds a concert B flat, for
      % output using sounded pitches such as MIDI.
      %\transposition bes

      % Print music for a B-flat clarinet
      \transpose bes c' \clarinetMusic
    >>
    \new StaffGroup = "StaffGroup_brass" <<
      \new Staff = "Staff_hornI" \with { instrumentName = #"Horn in F" }
       % \transposition f
        \transpose f c' \hornMusic
      \new Staff = "Staff_trumpet" \with { instrumentName = #"Trumpet in  C"
}
      \trumpetMusic
    >>
    \new RhythmicStaff = "RhythmicStaff_percussion"
    \with { instrumentName = #"Percussion" }
    <<
      \percussionMusic
    >>
    \new PianoStaff \with { instrumentName = #"Piano" }
    <<
      \new Staff { \pianoRHMusic }
      \new Staff { \pianoLHMusic }
    >>    

    \new StaffGroup <<
      \set StaffGroup.systemStartDelimiterHierarchy = 
        #'(SystemStartBracket (SystemStartBrace (SystemStartBracket a) b) c)  
        \new Staff = "Staff_violinI" \with { instrumentName = #"Violin I" }
        \violinIMusic
        \new Staff = "Staff_violinII" \with { instrumentName = #"Violin II"
}
        \violinIIMusic
      \new Staff = "Staff_viola" \with { instrumentName = #"Viola" }
      \violaMusic
      \new Staff = "Staff_cello" \with { instrumentName = #"Cello" }
      \celloMusic
      \new Staff = "Staff_bass" \with { instrumentName = #"Double Bass" }
      \bassMusic
    >>
  >>
  \layout { }
}

%---

I would be interested if someone find another way to do this... But at
least, this seems to work!



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html



reply via email to

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