lilypond-devel
[Top][All Lists]
Advanced

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

page breaking


From: Joe Neeman
Subject: page breaking
Date: Fri, 09 Jun 2006 19:48:59 +1000

Here are the final differences between my working copy and CVS lilypond.
To use the new page breaker, add "Page_turn_engraver" to the staff which
is relevant for page turns, then add

#(define page-breaking ly:optimal-breaking)

to your (book-wide) paper block. Page turns will be considered when
there is a gap in notes of at least a semi-breve (whole note). To change
this, use the context property Staff.minPageTurnLength, eg.

\set Staff.minPageTurnLength = #(ly:make-moment 2 1)

The page turn algorithm will consider putting blank pages in the middle
of the score to help with page turns -- you can set the penalty for
blank pages in the (book-wide) paper block with the variable
"blank-page-force" (default is 10) or "blank-last-page-force" (default
is 0).

Also, the paper-block variable "page-spacing-weight" controls the
relative importance of page-spacing and line-spacing. Default is 1,
higher values will make the page-spacing more important.

(Note: this page-breaker doesn't support break-before. Use \pageBreak or
\noPageBreak at the end of the previous score instead)

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

        * scm/page.scm (make-page): make it a bit friendlier to call
        (make-page-stencil): don't crash if we annotate-layout when there is a
        page with no systems

        * scm/layout-page-layout.scm (space-systems): make public and move
        to toplevel so it can be called from C++
        (optimal-page-breaks): new interface to page-breaking

        * scm/define-context-properties.scm (all-user-translation-properties):
        add revokePageTurns

        * lily/paper-column-engraver.cc (stop_translation_timestep): new
        function to support breaking at special barlines preferably
        (revoke_page_turns): new function to support revoking page turns if
there
        is an inconvenient volta repeat
        (stop_translation_timestep): support the 2 new utility functions

        * lily/paper-book.cc (pages): new interface to page-breaking

Attachment: page_breaking_20060609.patch
Description: Text Data

Attachment: optimal-breaking.cc
Description: Text Data

Attachment: optimal-breaking-scheme.cc
Description: Text Data

Attachment: page-spacing.cc
Description: Text Data

Attachment: optimal-breaking.hh
Description: Text Data

Attachment: page-spacing.hh
Description: Text Data

Attachment: optimal-breaking.ly
Description: Text document

Attachment: optimal-breaking-badturns.ly
Description: Text document


reply via email to

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