X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpercent-repeat-engraver.cc;h=a27eef826b9163f94168cec7e6ea92d630adc49e;hb=f5b1f319b1b5b7517972dfebdac2292a99531d67;hp=a979a2e743914f91bed6371c3fd3319e420ab102;hpb=70d5609d63efe8a9b42ff763b79348bf99953bf2;p=lilypond.git diff --git a/lily/percent-repeat-engraver.cc b/lily/percent-repeat-engraver.cc index a979a2e743..a27eef826b 100644 --- a/lily/percent-repeat-engraver.cc +++ b/lily/percent-repeat-engraver.cc @@ -16,9 +16,9 @@ #include "misc.hh" #include "percent-repeat-iterator.hh" #include "repeated-music.hh" -#include "score-context.hh" #include "side-position-interface.hh" #include "spanner.hh" +#include "stream-event.hh" #include "warn.hh" #include "translator.icc" @@ -35,7 +35,7 @@ public: TRANSLATOR_DECLARATIONS (Percent_repeat_engraver); protected: - Music *percent_event_; + Stream_event *percent_event_; /// moment (global time) where percent started. Moment stop_mom_; @@ -54,7 +54,7 @@ protected: protected: virtual void finalize (); - virtual bool try_music (Music *); + DECLARE_TRANSLATOR_LISTENER (percent); void stop_translation_timestep (); void start_translation_timestep (); @@ -69,13 +69,13 @@ Percent_repeat_engraver::Percent_repeat_engraver () percent_event_ = 0; } -bool -Percent_repeat_engraver::try_music (Music *m) +IMPLEMENT_TRANSLATOR_LISTENER (Percent_repeat_engraver, percent); +void +Percent_repeat_engraver::listen_percent (Stream_event *ev) { - if (m->is_mus_type ("percent-event") - && !percent_event_) + if (!percent_event_) { - Moment body_length = m->get_length (); + Moment body_length = get_event_length (ev); Moment meas_len (robust_scm2moment (get_property ("measureLength"), Moment (1))); @@ -94,14 +94,10 @@ Percent_repeat_engraver::try_music (Music *m) get_global_context ()->add_moment_to_process (start_mom_); } else - return false; - - percent_event_ = m; + return; - return true; + percent_event_ = ev; } - - return false; } void