lilypond-devel
[Top][All Lists]
Advanced

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

Close or document the stretchability=0 backdoor?


From: Keith OHara
Subject: Close or document the stretchability=0 backdoor?
Date: Fri, 27 May 2011 19:44:30 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

One of the special-cases in the LilyPond code is confusing me.
( This special-case code is in Page_layout_Problem::get_fixed_spacing(). )

If the flexible-vertical-spacing variable 'stretchability is defined, but has 
value 0.0, such as: 
            *-*-spacing = #'((basic-distance . 16)
                             (stretchability . 0)
                             (padding . -100)
                             (minimum-distance . 0))
then 
a) the staves will not stretch to fill extra space 
   (documented and sensible)
b) the staves will not compress, making basic-distance serve as minimum-distance
   (not documented, and I don't know if this it is done consistently)
c) some people expect padding to be ignored, per Carl's comment on issue 1654
   (not documented and I can't find it in the code history)

It seems to me that one could achieve (b) by setting minimum-distance equal to 
basic-distance.  It is less cumbersome, however, to say
 \override VerticalAxisGroup #'staff-staff-spacing #'stretchability = #0.0
than to look up whatever basic-distance happens to be.

This backdoor really confuses me, however, in cases like the definition of 
Lyrics in egraver-init.ly. 
  \override VerticalAxisGroup #'nonstaff-nonstaff-spacing =
     #'((basic-distance . 0)
        (minimum-distance . 2.8)
        (padding . 0.2)
        (stretchability . 0))
Why is basic-distance smaller than minimum-distance?  
What distance should I expect in tight spacing (and a single-line parent staff 
like a drum staff) ?


What is stretchability = 0 supposed to do ?





reply via email to

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