]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/constrained-breaking.cc
Fix off-by-one error in constrained-breaking.
[lilypond.git] / lily / constrained-breaking.cc
index b8253ac4e93ce5b0a3970393c29b991938745071..d01bc2ab2efcc7ddec191b562225664ca208ed85 100644 (file)
@@ -173,7 +173,7 @@ Constrained_breaking::get_solution (vsize start, vsize end, vsize sys_count)
             {
               if (brk != end_brk)
                 {
-                  warning (_ ("couldn't find line breaking that satisfies constraints" ));
+                  warning (_ ("cannot find line breaking that satisfies constraints" ));
                   ret.push_back (space_line (brk, end_brk));
                 }
               /* build up the good solution */
@@ -190,7 +190,7 @@ Constrained_breaking::get_solution (vsize start, vsize end, vsize sys_count)
         }
     }
   /* if we get to here, just put everything on one line */
-  warning (_ ("couldn't find line breaking that satisfies constraints" ));
+  warning (_ ("cannot find line breaking that satisfies constraints" ));
   ret.push_back (space_line (0, end_brk));
   return ret;
 }
@@ -274,7 +274,7 @@ Constrained_breaking::get_min_systems (vsize start, vsize end)
 int
 Constrained_breaking::get_max_systems (vsize start, vsize end)
 {
-  vsize brk = (end >= start_.size ()) ? breaks_.size () - 1 : starting_breakpoints_[end];
+  vsize brk = (end >= start_.size ()) ? breaks_.size () : starting_breakpoints_[end];
   return brk - starting_breakpoints_[start];
 }
 
@@ -322,7 +322,7 @@ Constrained_breaking::initialize ()
       
   Output_def *l = pscore_->layout ();
   System *sys = pscore_->root_system ();
-  Real padding = robust_scm2double (l->c_variable ("between-system-padding"), 0);
+  Real padding = robust_scm2double (l->c_variable ("page-breaking-between-system-padding"), 0);
   Real space = robust_scm2double (l->c_variable ("ideal-system-space"), 0);
 
   Interval first_line = line_dimensions_int (pscore_->layout (), 0);
@@ -365,7 +365,7 @@ Constrained_breaking::initialize ()
          line.extent_ = extent;
          line.padding_ = padding;
          line.space_ = space;
-         line.inverse_hooke_ = 1;
+         line.inverse_hooke_ = extent.length () + space;
        }
     }