]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/spacing-spanner.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / spacing-spanner.cc
index 4fe3b25a0ea1f099abeec90f516261631491da88..4c301b6a648ff2cd293e8237b201695863d669cc 100644 (file)
@@ -115,7 +115,7 @@ Spacing_spanner::find_shortest (Grob *me, vector<Grob*> const &cols)
          shortest_in_measure = min (shortest_in_measure, this_shortest.main_part_);
        }
       else if (!shortest_in_measure.is_infinity ()
-              && Item::is_breakable (cols[i]))
+              && Paper_column::is_breakable (cols[i]))
        {
          vsize j = 0;
          for (; j < durations.size (); j++)
@@ -260,7 +260,20 @@ Spacing_spanner::musical_column_spacing (Grob *me,
   Real compound_fixed_note_space = 0.0;
 
   if (options->stretch_uniformly_)
-    compound_note_space = base_note_space;
+    {
+      compound_note_space = base_note_space;
+            
+      if (!Paper_column::is_musical (right_col))
+       {
+         /*
+           Crude fix for notes that lead up to barlines and time sigs.
+         */
+         Interval lext = right_col->extent (right_col, X_AXIS);
+         if (!lext.is_empty ())
+           compound_note_space += -lext[LEFT];
+       }
+      
+    }
   else
     {
       int wish_count = 0;