X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdouble-percent-repeat-engraver.cc;h=ec927c9eee5e733b117cf805dbb6c9b774dc4c77;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=2569adbf142be9f46c52319e4f33dddfbf3bd13b;hpb=c054eb280fd9953596eb164f67b0f9d5555c5a32;p=lilypond.git diff --git a/lily/double-percent-repeat-engraver.cc b/lily/double-percent-repeat-engraver.cc index 2569adbf14..ec927c9eee 100644 --- a/lily/double-percent-repeat-engraver.cc +++ b/lily/double-percent-repeat-engraver.cc @@ -38,17 +38,17 @@ protected: // moment (global time) where percent started Moment start_mom_; - DECLARE_TRANSLATOR_LISTENER (double_percent); + void listen_double_percent (Stream_event *); void process_music (); }; -Double_percent_repeat_engraver::Double_percent_repeat_engraver () +Double_percent_repeat_engraver::Double_percent_repeat_engraver (Context *c) + : Engraver (c) { percent_event_ = 0; } -IMPLEMENT_TRANSLATOR_LISTENER (Double_percent_repeat_engraver, double_percent); void Double_percent_repeat_engraver::listen_double_percent (Stream_event *ev) { @@ -73,7 +73,7 @@ Double_percent_repeat_engraver::process_music () percent_event_->self_scm ()); SCM count = percent_event_->get_property ("repeat-count"); - if (count != SCM_EOL && to_boolean (get_property ("countPercentRepeats")) + if (!scm_is_null (count) && to_boolean (get_property ("countPercentRepeats")) && check_repeat_count_visibility (context (), count)) { Item *double_percent_counter @@ -95,6 +95,12 @@ Double_percent_repeat_engraver::process_music () } } +void +Double_percent_repeat_engraver::boot () +{ + ADD_LISTENER (Double_percent_repeat_engraver, double_percent); +} + ADD_TRANSLATOR (Double_percent_repeat_engraver, /* doc */ "Make double measure repeats.",