From 19503a9141bd5afb833036f4d36b6062055b6f79 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 10 Apr 2013 18:53:33 +0200 Subject: [PATCH] Make MultiMeasureRests use the same positioning mechanism as normal rests --- lily/multi-measure-rest.cc | 15 +++++++++------ scm/music-functions.scm | 5 +++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index 34f6bb6e68..92023cf972 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -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); diff --git a/scm/music-functions.scm b/scm/music-functions.scm index bb5bb9ab88..16e035bcbb 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -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 -- 2.39.5