]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Tue, 26 Feb 2008 15:03:18 +0000 (16:03 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Tue, 26 Feb 2008 15:03:18 +0000 (16:03 +0100)
* 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond:
  Fix 554.
  Fix 550.
  Fix 577.

input/regression/page-turn-page-breaking-auto-first-page.ly
input/regression/spacing-strict-spacing-grace.ly
lily/include/page-turn-page-breaking.hh
lily/page-turn-page-breaking.cc
lily/spacing-spanner.cc
scm/define-grobs.scm

index 07eb9e497de3d135ba2510593e09e38b4cd0a263..04c849506e8b84c1a38b6891657e47d27b84b5ea 100644 (file)
@@ -17,6 +17,6 @@ number to 2 in order to avoid a bad page turn."
 
 \book {
   \score {
-    {\repeat unfold 30 {a b c d}}
+    {\repeat unfold 40 {a b c d}}
   }
 }
\ No newline at end of file
index 923fe4572287e5d3b1b1663b21647da849a46aa2..918b5b224821e72c8b4b2c0e5596dfd229b675f0 100644 (file)
@@ -7,15 +7,18 @@
 
 \version "2.10.0"
 
-\paper {
-  ragged-right = ##t
-  indent = 0
-}
-
-\relative c''
-{
-  \override Score.SpacingSpanner #'strict-note-spacing = ##t 
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 12)
-  c8[ \grace { c16[ c] } c8 c8 c8] 
-  c2 
-}  
+<<
+ \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+ \new Staff {
+    c'4
+    \afterGrace
+    c'4
+    { c'16[ c' c' c'] c'[ c' c' c'] }
+    c'4
+ }
+ \new Staff {
+    c'16[ c'16 c'16 c'16]
+    c'16[ c'16 c'16 c'16]
+    c'4
+ }
+>>
index bdaec437061618456a3b3fa789e904faa47febc0..b91bdb6bed119c81aa77e6cf41fdd0f33ba95315 100644 (file)
@@ -52,7 +52,7 @@ protected:
 
   vector<Break_node> state_;
 
-  vsize final_page_num (Break_node const &b);
+  vsize total_page_count (Break_node const &b);
   Break_node put_systems_on_pages (vsize start,
                                   vsize end,
                                   vsize configuration,
index b818dc09a1cf85ad5b9f3c8408e7928cb64a700b..75e1a3bbf28204e5d6a52e36fba7a793d27ec020 100644 (file)
@@ -93,13 +93,13 @@ Page_turn_page_breaking::put_systems_on_pages (vsize start,
   return ret;
 }
 
-/* "final page" meaning the number of the final right-hand page,
-   which always has an odd page number */
+/* The number of pages taken up by a Break_node, including
+   the blank page if there is one */
 vsize
-Page_turn_page_breaking::final_page_num (Break_node const &b)
+Page_turn_page_breaking::total_page_count (Break_node const &b)
 {
   vsize end = b.first_page_number_ + b.page_count_;
-  return end - 1 + (end % 2);
+  return end - 1 + (end % 2) - b.first_page_number_;
 }
 
 extern bool debug_page_breaking_scoring;
@@ -160,7 +160,7 @@ Page_turn_page_breaking::calc_subproblem (vsize ending_breakpoint)
               if (isinf (cur.demerits_)
                  || (cur.page_count_  + (p_num % 2) > 2
                      && (!isinf (this_start_best.demerits_))
-                     && final_page_num (cur) > final_page_num (this_start_best)))
+                     && total_page_count (cur) > total_page_count (this_start_best)))
                 {
                   ok_page = false;
                   break;
index 512bfe4166a71565a5464b42d1a42630ebf05d5b..8ebf100a530ad8d2085142647e9e414883fb8953 100644 (file)
@@ -339,7 +339,8 @@ Spacing_spanner::musical_column_spacing (Grob *me,
          if (Note_spacing::has_interface (wish))
            {
              Real inc = options->increment_;
-             if (Grob *gsp = unsmob_grob (left_col->get_object ("grace-spacing")))
+             Grob *gsp = unsmob_grob (left_col->get_object ("grace-spacing"));
+             if (gsp && Paper_column::when_mom (left_col).grace_part_)
                {
                  Spacing_options grace_opts;
                  grace_opts.init_from_grob (gsp);
index edd5495a336812cb5f7ba803bdf78ed2081f8a05..564b51d01d15937c332011d9e9a866de964b9a0f 100644 (file)
 (define pure-functions
   (list
    parenthesize-elements
+   ly:rest::y-offset-callback
    ly:staff-symbol-referencer::callback
    ly:staff-symbol::height))