lilypond-user
[Top][All Lists]
Advanced

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

Re: PianoStaff spacing in 2.11


From: Trevor Bača
Subject: Re: PianoStaff spacing in 2.11
Date: Mon, 10 Sep 2007 20:36:24 -0500

On 9/10/07, Neil Puttock <address@hidden> wrote:
> Hi everybody,
>
> A short while back, I was under the misapprehension that there was something
> wrong with the spacing in piano staves when using version 2.11. Having
> erroneously submitted a bug report to this effect, I found out that thanks
> to the new spacing engine, the fixed distance workaround present in 2.10 was
> no longer necessary (hence why the "PianoStaff centred dynamics" template no
> longer works properly).
>
> I have been typesetting a few piano pieces, and have found that the spacing
> can vary wildly, especially when adding dynamics. This is, in my opinion, a
> rather unfortunate situation, and one not in keeping with traditional
> engraving rules for piano music.
>
> My question is this: Is it possible to force fixed distance between the
> staves in a PianoStaff under version 2.11? I've tried various overrides, but
> all they tend to do is influence the minimum spacing and amount of system
> stretching.


Hi Neil,

Have you tried using the alignment-offsets part of the
NonMusicalPaperColumn's line-break-system-details property?

Here's an example where we override the NonMusicalPaperColumn grob in
the Score's context block; the result is completely fixed vertical
distance throughout the score:

%%% BEGIN %%%

\version "2.11.32"

\layout {
   \context {
      \Score
      \override NonMusicalPaperColumn
      #'line-break-system-details =
      #'((alignment-offsets . (0 -14))) } }

\new Score <<
   \new PianoStaff <<
      \new Staff {
         c'1
         \break
         c'1
         \break
         c'1
      }
      \new Staff {
         \clef bass
         c'1
         c'1
         c'1
      }
   >>
>>

%%% END %%%



And here's an example where we override the NonMusicalPaperColumn grob
on the fly at different points (but always at line breaks) throughout
the score; the result is precisely controlled -- but varying --
amounts of vertical space between systems:

%%% BEGIN %%%

\version "2.11.32"

\new PianoStaff <<
   \new Staff {
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((alignment-offsets . (0 -10)))
      c'1
      \break
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((alignment-offsets . (0 -20)))
      c'1
      \break
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((alignment-offsets . (0 -30)))
      c'1
   }
   \new Staff {
      \clef bass
      c'1
      c'1
      c'1
   }
>>

%%% END %%%


Note that you can freely combine the two types of override shown here.
This will let you set a default fixed space for the entire score and
then freely override that default fixed space to other (but equally
specific) values as necessary.

Note also that you use plain old \override in a \context (or \with)
block but that you use the special \overrideProperty command when
making changes to the NonMusicalPaperColumn grob inline with note
entry.

(Note finally that these settings work for ALL types of staff ...
including, but not limited to, piano and other grouped staves.)

If you like this way of accounting for vertical positioning, there's
some more at 11.5.3 "Explicit staff and system positioning".


Trevor.


-- 
Trevor Bača
address@hidden

reply via email to

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