lilypond-devel
[Top][All Lists]
Advanced

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

Re: Proposal: page breaking protocol


From: Nicolas Sceaux
Subject: Re: Proposal: page breaking protocol
Date: Sat, 29 Jul 2006 13:40:00 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (darwin)

Joe Neeman <address@hidden> writes:

>> Today, the page breaking function (optimal-page-breaks) does the page
>> breaking + computes the page stencils + calls the page post process
>> function. This means that every alternate page breaking function has to
>> do the same.
> That's funny, I hadn't noticed before. In my page-breaking algorithms, I
> only do the page breaking and it still works for some reason. I'll
> investigate this further.

That may be because the memoization function page-stencil is called
later, and computes the stencils. But I doubt that annotations work.

>> Benefits:
>>  - introduce page breaks between pieces or markups
>>  - some pages inside the book can be ragged-bottom, which is nice to
>>  separate chapters or acts of an opera for instance.
>
> I think that the best way to do the first is to add support within the
> page breaker. My breakers support \pageBreak at the end of a score. They
> would also support breaking after markups if there were a way to set
> 'page-turn-permission = 'force in the markup Prob.

But these things could be implemented once for all page breakers, in
order to have a consistent behaviour. And that would solve the problem
of the non-existent way of setting break penalties for markups.

BTW, setting a page break inside a score, and at the top level, is not
the same thing. One is a burden, and not the other: suppose one uses the
same score in different books, and wants a page break after the score in
one book but not in the other. IMHO, between-scores-or-markups
page breaks belong to the book (at top level), not to the score.

> The second sounds very handy, though.

>> The signature of page breaking functions changes [...]
>
> There are some conflicts between the way you've done things and the way
> I've done things. For my page-breaking algorithms, the page breaker
> needs to be able to control the way that lines are broken within scores.
> Therefore, it can't accept a lines parameter because that implies that
> the lines are already created.

Today, the page breaking function (as defined by the page-breaking
variable in the \paper block) already takes the `lines' and `paper-book'
arguments, so this is not how I've done things, but how they already
are. I just propose to add the three last arguments.

Ahem. I have not noticed that in your patch you change this interface,
sorry. Then what I described above should belong to the page breaker,
indeed. I'll see what can be done when your patch is commited.

nicolas




reply via email to

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