On Fri, May 27, 2011 at 10:44 PM, Keith OHara <k-ohara5...@oco.net> wrote:
> 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 ? > I don't think it was originally "supposed" to do anything, but it turned out to be a useful way to force a fixed spacing. With this application in mind, I think (b) and (c) are both appropriate, and that the distance should be the maximum of basic-distance and minimum-distance. So in the definition above, basic-distance could be anything less than 2.8 and the effect would be the same. I'm not 100% attached to this, though, so if you want to change something specific then don't be shy... Cheers, Joe
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel