From 4536bd214cb67f71120d9240f4ee7436bdcaa25a Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 27 May 2004 17:40:22 +0000 Subject: [PATCH] * lily/context-def.cc (filter_engravers): backport. Fixes: crash-bar-number.ly * lily/percent-repeat-engraver.cc (try_music): backport. Fixes: skipbars-percent-repeat.ly --- ChangeLog | 8 ++++++++ lily/context-def.cc | 4 ++++ lily/percent-repeat-engraver.cc | 11 +++++++++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 91680825d5..e9524b3080 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-05-27 Han-Wen Nienhuys + + * lily/context-def.cc (filter_engravers): backport. Fixes: + crash-bar-number.ly + + * lily/percent-repeat-engraver.cc (try_music): backport. Fixes: + skipbars-percent-repeat.ly + 2004-05-19 Han-Wen Nienhuys * lily/rest-collision.cc (do_shift): handle (0-down, 2-up) case diff --git a/lily/context-def.cc b/lily/context-def.cc index afa8ccfac6..a3cefde911 100644 --- a/lily/context-def.cc +++ b/lily/context-def.cc @@ -270,6 +270,8 @@ filter_performers (SCM l) if (dynamic_cast (unsmob_translator (gh_car (*tail)))) { *tail = gh_cdr (*tail); + if (!ly_c_pair_p (*tail)) + break ; } } return l; @@ -284,6 +286,8 @@ filter_engravers (SCM l) if (dynamic_cast (unsmob_translator (gh_car (*tail)))) { *tail = gh_cdr (*tail); + if (!ly_c_pair_p (*tail)) + break ; } } return l; diff --git a/lily/percent-repeat-engraver.cc b/lily/percent-repeat-engraver.cc index 3090e9b615..2e28caba8b 100644 --- a/lily/percent-repeat-engraver.cc +++ b/lily/percent-repeat-engraver.cc @@ -115,9 +115,16 @@ Percent_repeat_engraver::try_music (Music * m) Global_context *global = get_global_context (); - for (int i = 0; i < count; i++) - global->add_moment_to_process (next_moment_ + Moment (i) * body_length_); + for (int i = 0; i < count; i++) + { + global->add_moment_to_process (next_moment_ + Moment (i) * body_length_); + /* + bars between % too. + */ + if (repeat_sign_type_ == DOUBLE_MEASURE) + global->add_moment_to_process (next_moment_ + meas_len + Moment (i) * body_length_); + } return true; } -- 2.39.5