X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmulti-measure-rest-engraver.cc;h=d66779f6ffedf76071dc29b471749098bcff33c4;hb=89f7b5a4f48b6d8812efbe9cd5dd9aaef4932a5f;hp=257711a7da0efbd97f5faa97685c03bba333ac11;hpb=1de3d397c18622b6061402fef18e625701712bc5;p=lilypond.git diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 257711a7da..d66779f6ff 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -29,8 +29,6 @@ #include "translator.icc" -using std::vector; - /** The name says it all: make multi measure rests */ @@ -42,8 +40,8 @@ public: protected: void process_music (); void start_translation_timestep (); - DECLARE_TRANSLATOR_LISTENER (multi_measure_rest); - DECLARE_TRANSLATOR_LISTENER (multi_measure_text); + void listen_multi_measure_rest (Stream_event *); + void listen_multi_measure_text (Stream_event *); private: void add_bound_item_to_grobs (Item *); @@ -67,8 +65,9 @@ private: bool first_time_; }; -Multi_measure_rest_engraver::Multi_measure_rest_engraver () - : rest_ev_ (0), +Multi_measure_rest_engraver::Multi_measure_rest_engraver (Context *c) + : Engraver (c), + rest_ev_ (0), mmrest_ (0), start_measure_ (0), last_command_item_ (0), @@ -76,7 +75,6 @@ Multi_measure_rest_engraver::Multi_measure_rest_engraver () { } -IMPLEMENT_TRANSLATOR_LISTENER (Multi_measure_rest_engraver, multi_measure_rest); void Multi_measure_rest_engraver::listen_multi_measure_rest (Stream_event *ev) { @@ -93,7 +91,6 @@ Multi_measure_rest_engraver::listen_multi_measure_rest (Stream_event *ev) clear_lapsed_events (now); } -IMPLEMENT_TRANSLATOR_LISTENER (Multi_measure_rest_engraver, multi_measure_text); void Multi_measure_rest_engraver::listen_multi_measure_text (Stream_event *ev) { @@ -149,7 +146,7 @@ Multi_measure_rest_engraver::initialize_grobs () Grob *last = 0; for (vsize i = 0; i < text_.size (); i++) { - if (scm_is_eq (dir, text_[i]->get_property ("direction"))) + if (ly_is_equal (dir, text_[i]->get_property ("direction"))) { if (last) Side_position_interface::add_support (text_[i], last); @@ -247,6 +244,13 @@ Multi_measure_rest_engraver::start_translation_timestep () clear_lapsed_events (now_mom ()); } +void +Multi_measure_rest_engraver::boot () +{ + ADD_LISTENER (Multi_measure_rest_engraver, multi_measure_rest); + ADD_LISTENER (Multi_measure_rest_engraver, multi_measure_text); +} + ADD_TRANSLATOR (Multi_measure_rest_engraver, /* doc */ "Engrave multi-measure rests that are produced with"