]> git.donarmstrong.com Git - lilypond.git/commitdiff
page-layout: nonstaff lines, follow-up commit 7a60a342
authorKeith OHara <k-ohara5a5a@oco.net>
Sat, 2 Nov 2013 00:12:33 +0000 (17:12 -0700)
committerKeith OHara <k-ohara5a5a@oco.net>
Sat, 2 Nov 2013 21:45:03 +0000 (14:45 -0700)
input/regression/page-spacing-nonstaff-lines-and-markup.ly
lily/page-layout-problem.cc

index 1e26dfe31749b194789f76703c2e78277c5a8c4a..1f7f6ef3508a80bdbac9657498788dad82258d37 100644 (file)
@@ -16,6 +16,12 @@ the page layout engine."
      \new Lyrics \lyricsto "asdf" \lyricmode { a b c d }
   >>
   }
-  \markup "blah blah blah"
+  \markup "next song"
+  \score {
+    <<
+      \new Lyrics \lyricmode {la1 la }
+      \new Staff \new Voice { a'1 a'1 }
+  >>
+  }
 }
 
index 95635140bf1d223b0e68a659310654d91c08e7ee..5885a661359b6accd9055228bd11b10cf8f19f88 100644 (file)
@@ -652,8 +652,6 @@ Page_layout_problem::append_system (System *sys, Spring const &spring, Real inde
                            : 0;
 
   // Corner case: there was only one staff, and it wasn't spaceable.
-  // Mark it spaceable, because we do not allow non-spaceable staves
-  // to be at the top or bottom of a system.
   if (!found_spaceable_staff && elts.size ())
     mark_as_spaceable (elts[0]);
 }
@@ -667,7 +665,8 @@ Page_layout_problem::append_prob (Prob *prob, Spring const &spring, Real padding
 
   if (sky)
     {
-      minimum_distance = (*sky)[UP].distance (bottom_skyline_);
+      minimum_distance = max ((*sky)[UP].distance (bottom_skyline_),
+                              bottom_loose_baseline_);
       bottom_skyline_ = (*sky)[DOWN];
     }
   else if (Stencil *sten = unsmob_stencil (prob->get_property ("stencil")))
@@ -678,6 +677,7 @@ Page_layout_problem::append_prob (Prob *prob, Spring const &spring, Real padding
       bottom_skyline_.clear ();
       bottom_skyline_.set_minimum_height (iv[DOWN]);
     }
+  bottom_loose_baseline_ = 0.0;
 
   Spring spring_copy = spring;
   if (tight_spacing)