lilypond-devel
[Top][All Lists]
Advanced

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

Re: page breaking (again)


From: Han-Wen Nienhuys
Subject: Re: page breaking (again)
Date: Mon, 07 Aug 2006 00:31:26 +0200
User-agent: Thunderbird 1.5.0.4 (X11/20060614)

Joe Neeman wrote:
Here is my latest patch to add a new page-breaker. This actually adds 2
page breakers now:

Both page-breakers can be tuned with the (book-wide) paper block
variables "page-spacing-weight" (default 1.0) which specifies the
importance of good page spacing relative to line spacing and
"blank-last-page-force" (default 0) which specifies the penalty for
ending the piece on a left-hand page. ly:page-turn-breaking will also
consider leaving blank pages mid-score. The penalty for these pages can
be tuned with "blank-page-force" (default 10).

The new files are attached in a tar archive (I cc to Han-Wen just in
case the list strips it). There are 13 of them, so I thought it would be
easier.

Looks good. Please apply, after fixing the following issues.

this looks as duplicate code.


    if (d == DOWN &&
        (!div.size () || this_best_result.systems_per_page_.size () !=
         original_page_count))
      {

  while (d == DOWN ||
           (div.size () && this_best_result.systems_per_page_.size () ==
            original_page_count));




    Line_details d;
    d.force_ = 0;
d.extent_ = unsmob_stencil (p->get_property ("stencil")) ->extent (Y_AXIS);
    etc.


You might want to have a Line_details::from_grob()

for (vsize k = 0; k < lines_per_page[i] && systems != SCM_EOL; k++, systems = scm_cdr(systems))
        lines = scm_cons (scm_car (systems), lines);

this should be a generic Scheme function.

  while (scm_is_pair (cs))
    {
      SCM command = scm_car (cs);
      if (command == ly_symbol2scm ("start-repeat"))
        start = true;
      else if (command == ly_symbol2scm ("end-repeat"))
        end = true;
      cs = scm_cdr (cs);
    }

use for-loop.



--

Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com





reply via email to

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