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).
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel