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: Mon, 13 Feb 2006 07:17:43 +1100
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051121)



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




reply via email to

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