]> git.donarmstrong.com Git - lilypond.git/commitdiff
Make MultiMeasureRests use the same positioning mechanism as normal rests
authorDavid Kastrup <dak@gnu.org>
Wed, 10 Apr 2013 16:53:33 +0000 (18:53 +0200)
committerDavid Kastrup <dak@gnu.org>
Tue, 30 Apr 2013 10:57:03 +0000 (12:57 +0200)
lily/multi-measure-rest.cc
scm/music-functions.scm

index 34f6bb6e687b2649a77c750d55b14010521c8475..92023cf972b5c569b74a4d5b7c437e69979c8032 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "multi-measure-rest.hh"
 
+#include "directional-element-interface.hh"
 #include "duration.hh"
 #include "font-interface.hh"
 #include "international.hh"
@@ -222,14 +223,16 @@ Multi_measure_rest::symbol_stencil (Grob *me, Real space)
   Font_metric *musfont = Font_interface::get_default_font (me);
   int mdl = calc_measure_duration_log (me, true);
 
-  if (measure_count == 1)
+  if (me->get_property ("staff-position") == SCM_EOL)
     {
-      if (mdl == 0 && me->get_property ("staff-position") == SCM_EOL)
-        {
-          Real pos = Rest::staff_position_internal (me, mdl, 0);
-          me->set_property ("staff-position", scm_from_double (pos));
-        }
+      int dir = get_grob_direction (me);
+      Real pos = Rest::staff_position_internal (me, mdl, dir);
+      me->set_property ("staff-position", scm_from_double (pos));
+    }
 
+  if (measure_count == 1)
+    {
       Stencil s = musfont->find_by_name (Rest::glyph_name (me, mdl, "", true));
 
       s.translate_axis ((space - s.extent (X_AXIS).length ()) / 2, X_AXIS);
index bb5bb9ab88e5aa8b27f5486acd34407711b5211a..16e035bcbbe1ea71b1afc0ae6869d238f7675837 100644 (file)
@@ -491,6 +491,7 @@ in @var{grob}."
     Fingering
     LaissezVibrerTie
     LigatureBracket
+    MultiMeasureRest
     PhrasingSlur
     RepeatTie
     Rest
@@ -526,8 +527,8 @@ in @var{grob}."
                          (Voice Fingering font-size -8)
                          (Voice StringNumber font-size -8)))
 
-     (make-grob-property-set 'NoteColumn 'horizontal-shift (quotient n 2))
-     (make-grob-property-set 'MultiMeasureRest 'staff-position (if (odd? n) -4 4))))))
+     (make-grob-property-set 'NoteColumn 'horizontal-shift (quotient n 2))))))
+
 
 (define-safe-public (make-voice-props-override n)
   (make-sequential-music