lilypond-devel
[Top][All Lists]
Advanced

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

RE: breaking cleanups


From: Anthony Youngman
Subject: RE: breaking cleanups
Date: Thu, 7 Sep 2006 15:57:42 +0100

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:
address@hidden
[mailto:address@hidden
u.org] On Behalf Of Joe Neeman
Sent: 05 September 2006 09:05
To: Han-Wen Nienhuys
Cc: address@hidden
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
address@hidden
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.

* ************************************************************************ *




reply via email to

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