lilypond-user
[Top][All Lists]
Advanced

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

Re: Vertical spacing on big systems


From: Michael Käppler
Subject: Re: Vertical spacing on big systems
Date: Mon, 15 Sep 2008 11:47:21 +0200
User-agent: Thunderbird 2.0.0.12 (X11/20071114)

Hi Nicolas,
I've collected some raw data about estimated extents and real ones one
various scores. I still have to study them, maybe a more suitable amount
of reserved space will emerge.
that would be nice... Maybe it's also possible to cook a patch that makes lilypond collect that information on his own after rendering each score, storing in it a file. So many users could take part in finding a more suitable amount. But nevertheless: Would it be - theoretically, not considering the amount of time to implement this - possible to get completely rid of this "estimate algorithm" to base page spacing only on real Y-extents? However, I'm not sure at this moment that the issue I'm experiencing is really about this "security spacing amount". I wonder since my patch (Maybe any other can have a look at it) doesn't change the problem, though there is enough space.

Cheers,
Michael

[CC to lilypond-devel]
\version "2.11.58"

#(set-global-staff-size 16)

\paper {
 annotate-spacing = ##t
 ragged-last-bottom = ##f
 ragged-bottom = ##f
 paper-height = 279\mm
 paper-width = 209\mm
 top-margin = 10\mm
 bottom-margin = 10\mm
 left-margin = 10\mm
 foot-separation = 7\mm
 between-system-padding = #0.1
 between-system-space = #0.1
 #(define line-width (- paper-width (* 20 mm)))
 oddHeaderMarkup = ##f
 evenHeaderMarkup = ##f
 oddFooterMarkup = \markup \fontsize #1 \fill-line { " " \on-the-fly 
#print-page-number-check-first \fromproperty #'page:page-number-string }
 evenFooterMarkup = \markup \fontsize #1 \fill-line { \on-the-fly 
#print-page-number-check-first \fromproperty #'page:page-number-string " " }
}

\header {
 tagline = ##f
}

csI = \relative c'' {
 \time 4/2
 \key c \major
 b1. d2
 d1 d,2. d4
 e1 r
 R1*4/2*1
 g1. g2
 g g a b
 a g a b
 a g fis g
 a b a4 \melisma g a b
 c2. a2 gis4 \melismaEnd a2
}

cantusI = {
 \clef treble
 <<
  \csI
 >>
}

cantusIlyrics = \lyricmode {
 Hes -- pe -- re Hes -- pe -- re
 Hes -- pe -- re qui cae -- lo lu -- cet qui cae -- lo lu -- cet qui cae -- lo 
lu -- cet
}

csII = \relative c'' {
 \key c \major
 R1*4/2*5
 r1 %
 r2 d1 b2
 r d2. d8 d d4 d
 d d d1 b2
 r d c f
 e a,8 [b c] \melisma a 
}

cantusII = {
 \clef treble
 <<
  \csII
 >>
}

cantusIIlyrics = \lyricmode {
 Hy -- men, o Hy -- me -- nae -- e hy -- men ad -- es
 o Hy -- me -- nae -- e 
}

asI = \relative c' {
 \key c \major
 d1. b2
 a1 b2. b4
 c\breve
 R1*4/2*1
 g1 g
 g2. g'4 fis2 g
 d \melisma g, d' \melismaEnd b
 R1*4/2*1
 r2 g' e f
 g f r1
}

altusI = {
 \clef treble
 <<
  \asI
 >>
}

altusIlyrics = \lyricmode {
 Hes -- pe -- re Hes -- pe -- re
 Hes -- pe -- re qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}

asII = \relative c'' {
 \key c \major
 g1. g2
 fis1 g2. g4
 g1 r2 c,1
 d2 d1
 e1. e2
 d\breve
 r2 g fis g
 d g, a b
 a g r1
 R1*4/2*1
}

altusII = {
 \clef treble
 <<
  \asII
 >>
}

altusIIlyrics = \lyricmode {
 Hes -- pe -- re Hes -- pe -- re
 Hes -- pe -- re Hes -- pe -- re
 qui cae-- lo lu -- cet cae -- lo lu -- cet
}

trI = \relative c' {
 \key c \major
 g1. g2
 d\breve % könnte auch c sein
 r2 g2. g4 a2
 g b a2. \melisma b
 c2 \melismaEnd c1 c2
 b r2 g
 a b a g
 a b a g
 d'1 r
 r r2 e
}

tenorI = {
 \clef "treble_8"
 <<
  \trI
 >>
}

tenorIlyrics = \lyricmode {
 Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re
 qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}

tenorII = {
 \clef "treble_8"
 <<
  \transpose c' c \csII
 >>
}

bsI = \relative c { 
 \key c \major
 R1*4/2*1
 r1 g2. g4
 c2 c2. c4 f,2
 c' g d'1
 c2. \melisma d4 \melismaEnd e2. \melisma c4 \melismaEnd
 d1 r
 r r2 g
 fis g d g,
 R1*4/2*2
}

bassusI = {
 \clef bass
 <<
  \bsI
 >>
}

bassusIlyrics = \lyricmode {
 Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re
 qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}

bsII = \relative c' {
 \key c \major
 R1*4/2*1
 r1 g2. g4 
 g2 e2. e4 f2
 e8 \melisma d \melismaEnd e \melisma c \melismaEnd g'2. \melisma f8 [e] f4 g 
\melismaEnd
 e1 c
 g r2 g'
 fis g d g,
 r1 r2 g'
 fis g a d,
 R1*4/2*1
}

bassusII = {
 \clef bass
 <<
  \bsII
 >>
}

bassusIIlyrics = \lyricmode {
 Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re
 qui cae -- lo lu -- cet qui cae -- lo lu -- cet 
}

\score {
 <<
  \new Voice = "cantusII" \cantusII
  \new Lyrics \lyricsto cantusII \cantusIIlyrics
  \new Voice = "cantusI" \cantusI 
  \new Lyrics \lyricsto cantusI \cantusIlyrics
  \new Voice = "altusII" \altusII
  \new Lyrics \lyricsto altusII \altusIIlyrics
  \new Voice = "altusI" \altusI
  \new Lyrics \lyricsto altusI \altusIlyrics
  \new Voice = "tenorII" \tenorII
  \new Lyrics \lyricsto tenorII \cantusIIlyrics
  \new Voice = "tenorI" \tenorI
  \new Lyrics \lyricsto tenorI \tenorIlyrics
  \new Voice = "bassusII" \bassusII
  \new Lyrics \lyricsto bassusII \bassusIIlyrics
  \new Voice = "bassusI" \bassusI 
  \new Lyrics \lyricsto bassusI \bassusIlyrics
 >>
 \layout {
  \context {
   \Score
   autoBeaming = ##f
  }
  \context {
   \Lyrics
   \override LyricText #'font-size = #0
   \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 1.0)
  }
  \context {
   \Staff
   \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
  }
 }
}
--- layout-page-layout.scm      2008-09-15 11:39:32.000000000 +0200
+++ layout-page-layout-new.scm  2008-09-15 11:40:36.000000000 +0200
@@ -85,10 +85,9 @@
         ; the system heights are estimated, we aren't using skyline distances
         ; yet, etc. If we overstretch because of underestimation, the result
         ; is very bad. So we stick in some extra space, just to be sure.
-        (buffer (/ height 10.0))
         (total-system-height (+ (apply + (map height-estimate systems))
                                 (total-padding systems)))
-        (height-left (- height total-system-height buffer)))
+        (height-left (- height total-system-height)))
 
     (if (and
         (not ragged)

reply via email to

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