lilypond-devel
[Top][All Lists]
Advanced

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

Re: setting the number of pages for a score


From: Joe Neeman
Subject: Re: setting the number of pages for a score
Date: Thu, 16 Feb 2006 08:18:32 +1100
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051121)


The problem with this is that having a huge bonus effectively forces a page break. I set allowPageTurn to have a penalty of -1 because I don't


Sorry, I misunderstood you; I gathered that allowPageTurn was a hard-coded obligatory break.

I still support \pageBreak and \noPageBreak for that.


want to force a break -- I only want to allow the possibility of a break. Having just manually page-broken 6 string quartets, it is very time-consuming to actually look through the piece for possible page turns and decide which ones to use (especially because if you change an earlier page turn, it messes up subsequent turns).

How about:
- Possible (but not explicitly marked) page turns will be recorded (with penalties depending on how good they are). - The page breaker will start off by only including manual page turns and very highly scored automatic turns. - If the page breaker cannot find suitable breaking, it will gradually start introducing less highly scored automatically marked turns.


I don't understand what you're saying here; we can just compute the optimal solution, can't we? Then manual turns can be made more desirable than automatic ones, and the optimal solution will balance out even spacing with desirable page turns. Are you proposing to add even more stages into the algorithm?

I'm just worried that the algorithm will have to deal with scores that have almost no viable breaks. Either we allow breaks at practically every rest (with huge penalties) or we don't have enough break points. The first solution will have very poor performance, and the second solution is also obviously not good. But maybe there is a better way to ensure good performance.

Maybe I can refactor or rewrite the old page breaker so it uses a lot of the same code as this breaker. It could get the typeset systems, put a potential page turn at the end of each system, and run those systems through the new page breaker.


Yes, but what problem would that solve?

The unused code/bit rot problem. If I can get the old algorithm working (or something like it that doesn't care about page turns) using the same code then it solves the problem of breaking un-page-turnable music. The turn detector could decide whether there are enough turns and set parameters accordingly. This would also solve the problems I had with the turn detector. It is also useful for music where the user doesn't care about page turns (and sets ignore-page-turns = ##t or something).




reply via email to

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