lilypond-user
[Top][All Lists]
Advanced

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

feature request: semi-automatic vertical spacement


From: Nicolas Sceaux
Subject: feature request: semi-automatic vertical spacement
Date: Sat, 07 Jan 2006 20:48:01 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (darwin)

Han-Wen,

It turns out that manually setting vertical spacement tweak is
way too fragile. They are easily broken when changing LilyPond version
for instance. Or if one set manually all tweaks, and then is told:
"could you make margins a bit larger, or use another font size", then
the whole work has to be done again. and again.

When you made the vertical spacement tweaks possible, you added that it
could be possible as an extra feature to output a tweak file that could
be included later, for a second lilypond run.

Please tell me how much the following would cost, if possible:

First, 

  $ lilypond --output-tweaks tweaks.ily many-score-book.ly

would output a tweaks.ily file, containing vertical tweaks blocks for
*each* score in the input ly file. Each score tweak would look like, for
instance:

scoreTweaksXXXX = {
  %% system 1
  \overrideProperty #"Score.NonMusicalPaperColumn"
  #'line-break-system-details #'((alignment-extra-space . 50.0))
  \skip 2.*7 \pageBreak

  %% system 2
  \overrideProperty #"Score.NonMusicalPaperColumn"
  #'line-break-system-details #'((alignment-extra-space . 18.88))
  \skip 2.*8 \break
  %% system 3
  \overrideProperty #"Score.NonMusicalPaperColumn"
  #'line-break-system-details #'((alignment-extra-space . 18.88))
  \skip 2.*8 \pageBreak

  ...
}

The inter staff extra space would be computed thanks to a function that
the user could override, taking into account the total space left in the
page, the number of systems, and the number of staves for each system.

Then:

  $ lilypond --use-tweaks tweaks.ily many-score-book.ly

would output the PDF score as usual, using the tweaks defined in
tweaks.ily for each individual score. LilyPond would take care of
including the appropriate tweak blocks in the appropriate place.

nicolas






reply via email to

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