One thing I'd jump on with "negative == no compression". It's been commented elsewhere that the stuff I normally set (band parts) tends to be very loosely spaced. If you've got a configurable compression parameter, might it be an idea to make a negative value force expansion?
(Just an idea, I could probably (and easily) force the same sort of effect by forcing the number of systems - it's just that by default lily typically sets pieces in maybe half to two thirds the space used by the printed part I'm copying. Well annoying when the result is two thirds of a side on a double-page spread is just empty space in the lily version...) Cheers, Wol -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] u.org] On Behalf Of Joe Neeman Sent: 05 September 2006 09:05 To: Han-Wen Nienhuys Cc: [email protected] Subject: Re: breaking cleanups On Mon, 2006-09-04 at 01:07 +0200, Han-Wen Nienhuys wrote: > Joe Neeman wrote: > > And of course I forgot to attach the patch... > > > > On Sun, 2006-09-03 at 20:05 +1000, Joe Neeman wrote: > >> This patch gets rid of the old line breaker. It keeps the old page > >> breaker for now, but it is no longer the default. It adds horizontal > >> compression penalties, for which I don't think there are any outstanding > >> objections. I might make the penalty configurable in a later patch > >> anyway. The current penalty is a bit arbitrary and I don't really like > >> adding un-configurable, arbitrary constants. > >> > > hi, > > a couple of nitpicks. Please apply after addressing these. > > >> + /* we may have to deal with single lines that are taller than a page */ > >> + if (isinf (space.force_) && page_start == line) > >> + space.force_ = 200000; > >> + > > is this the hardcoded constant you're talking about? No, I'm not so worried about that one. That one's just a number that is smaller than infinity but larger than any other reasonable value. I did change it to negative, though since negative <=> compression. The constant I don't like is in simple-spacer.cc:482 Real f = spacer.force (); force[b * breaks.size () + c] = f - (f < 0 ? f*f*f*f*4 : 0); I chose 4*f^4 after hacking lily to produce snippets with predefined force and comparing them visually. So it isn't _completely_ arbitrary, but still... > >> -(define (space-systems page-height lines ragged? paper) > >> +(define (space-systems page-height lines ragged? paper ignore-padding?) > > style problem that we ourselves haven't done in the past: foo? is > reserved for a predicate, i.e. a function rather than a boolean. Just > use ignore-padding as a name. I took the liberty of also making that change for the other booleans in layout-page-layout.scm. _______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel * ************************************************************************ * This transmission is intended for the named recipient only. It may contain private and confidential information. If this has come to you in error you must not act on anything disclosed in it, nor must you copy it, modify it, disseminate it in any way, or show it to anyone. Please e-mail the sender to inform us of the transmission error or telephone ECA International immediately and delete the e-mail from your information system. Telephone numbers for ECA International offices are: Sydney +61 (0)2 8272 5300, Hong Kong + 852 2121 2388, London +44 (0)20 7351 5000 and New York +1 212 582 2333. * ************************************************************************ * _______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
