lilypond-devel
[Top][All Lists]
Advanced

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

page-turning using correct page numbers


From: Joe Neeman
Subject: page-turning using correct page numbers
Date: Sat, 30 Sep 2006 10:09:23 +1000

This is sort of a bug fix, but I thought I'd post it instead of
committing because it changes behaviour. In current lily CVS, it's
assumed that the first page of a book is always the left-hand page. This
is usually false: odd-numbered pages should go on the right and the
first page is usually page number 1. This patch fixes that. If the first
page number is odd, the page turn page-breaker will put its first page
turn after 1 page instead of after 2.

I also introduce the auto-first-page-number variable in the paper block.
If auto-first-page-number is true, the page-turn-page-breaker is allowed
to increase the first page number by one if it will improve page
spacing.

2006-09-30  Joe Neeman  <address@hidden>

        * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
        put_systems_on_pages to return an empty result, we need to assign
        demerits properly in that case.
        (put_systems_on_pages): Make the number of pages depend on the
        evenness of page_number. Add auto-first-page-number.
        (calc_subproblem): ensure that the page-number is even for the
        left-hand page. Warn if the first page-turn doesn't fit onto the
        first (right-hand) page.

        * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
        (min_page_count): make this publicly accessible
        (min_page_count): fix a bug when there are forced page breaks that
        was introduced when I made this loop run backwards
        (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
        replace space_systems_on_min_pages with these two. The logic in
        space_systems_on_min_pages was getting too convoluted and is better
        contained in page-turn-page-breaking.

Attachment: tmp.patch
Description: Text Data


reply via email to

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