Yes, I think that might be possible without too much work. Maybe we
could allow the user to specify a global page-break-system-extent. We
then do the page breaking assuming all music systems have that
Y-extent. For 95% of the music I would use this for, that would be
acceptable since Y-extents don't vary too much. I think the main
problem would be if there are sections with more or less staves than
other sections. But this could work in the meantime.
Come to think of it, wouldn't it also be easy to make a
Constrained_page_breaker, ie. a page-breaking routine that is
constrained to put the final result in X pages? That still wouldn't be
an optimal solution to the complete problem, but it would come a long
way to automating the current page break tweaking hassle.
You mean a Constrained_page_breaker without the
Constrained_line_breaker? I think this still leaves a couple problems.
First, if page turns necessitate uneven spacing, doing without a
Constrained_line_breaker means that the lines will be evenly spaced, but
some pages might be spaced much wider than other pages. With a
Constrained_line_breaker, the uneven spacing will be divided between
horizontal and vertical spacing, which I think looks nicer.
Second, sometimes when page turns are few and far between, the
Gourlay_breaker will divide it into too many systems. So if I put a
\pageBreak where the end of the second page should be, the page breaker
has no option but to space the systems on 3 pages instead of 2. And then
I have to twiddle with SpacingSpanner and recompile lots of times.
Anyway, I hope to have a (preliminary) version of the page/line breaker
combination up later today, so people can at least see the design and
ideas in it.
Joe
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel