From f8f1f1328ed0ad93b3b647f60b0e0f1f2ba95d53 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 15 May 2003 22:58:59 +0000 Subject: [PATCH] (start_translation_timestep): backport of 1.7 grace + mmrest fix. --- ChangeLog | 5 +++++ lily/multi-measure-rest-engraver.cc | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 15b86e5b83..c8ffe77c18 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-05-16 Han-Wen Nienhuys + + * lily/multi-measure-rest-engraver.cc + (start_translation_timestep): backport of 1.7 grace + mmrest fix. + 2003-04-29 Jan Nieuwenhuizen * GNUmakefile.in (SUBDIRS): midi2ly.1 build fix backport: build diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 23c0c0007a..ea3f3964a3 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -37,7 +37,7 @@ private: Span_req * stop_req_; int start_measure_; Moment start_moment_; - + Moment last_main_moment_; Spanner *mmrest_; Spanner *lastrest_; }; @@ -155,8 +155,11 @@ Multi_measure_rest_engraver::start_translation_timestep () { SCM smp = get_property ("measurePosition"); Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0); + Moment now =now_mom (); - if (mmrest_ && !mp.to_bool ()) + if (mmrest_ + && now.main_part_ != last_main_moment_ + && mp.main_part_ == Rational (0)) { lastrest_ = mmrest_; int cur = gh_scm2int (get_property ("currentBarNumber")); @@ -164,6 +167,8 @@ Multi_measure_rest_engraver::start_translation_timestep () gh_int2scm (cur - start_measure_)); mmrest_ = 0; } + + last_main_moment_ = now.main_part_; } -- 2.39.5