X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Frest-collision-engraver.cc;h=1443d70790c8f7a8c63af9f4bf0b66dfcee551c7;hb=50cb93642631297394c1d1e108ecc42cfbadd644;hp=fc310aef059fcb8b2e016bc245a3415485c62945;hpb=0af2486a28f1c60b9de929a9101964d880927e54;p=lilypond.git diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index fc310aef05..1443d70790 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2001 Han-Wen Nienhuys */ #include "debug.hh" @@ -16,50 +16,50 @@ class Rest_collision_engraver : public Engraver { Item* rest_collision_p_; - Link_array note_column_l_arr_; + Link_array note_column_l_arr_; protected: - virtual void acknowledge_element (Score_element_info); - virtual void process_acknowledged (); - virtual void do_pre_move_processing(); + virtual void acknowledge_grob (Grob_info); + virtual void create_grobs (); + virtual void stop_translation_timestep (); public: - VIRTUAL_COPY_CONS(Translator); - Rest_collision_engraver(); + VIRTUAL_COPY_CONS (Translator); + Rest_collision_engraver (); }; -ADD_THIS_TRANSLATOR(Rest_collision_engraver); +ADD_THIS_TRANSLATOR (Rest_collision_engraver); -Rest_collision_engraver::Rest_collision_engraver() +Rest_collision_engraver::Rest_collision_engraver () { rest_collision_p_ =0; } void -Rest_collision_engraver::process_acknowledged () +Rest_collision_engraver::create_grobs () { if (rest_collision_p_ || note_column_l_arr_.size () < 2) return; - rest_collision_p_ = new Item (get_property ("basicRestCollisionProperties")); + rest_collision_p_ = new Item (get_property ("RestCollision")); Rest_collision::set_interface (rest_collision_p_); - announce_element (Score_element_info (rest_collision_p_, 0)); + announce_grob (rest_collision_p_, 0); for (int i=0; i< note_column_l_arr_.size (); i++) - Rest_collision::add_column ( rest_collision_p_,note_column_l_arr_[i]); + Rest_collision::add_column (rest_collision_p_,note_column_l_arr_[i]); } void -Rest_collision_engraver::acknowledge_element (Score_element_info i) +Rest_collision_engraver::acknowledge_grob (Grob_info i) { - if (dynamic_cast (i.elem_l_)) - note_column_l_arr_.push (dynamic_cast (i.elem_l_)); + if (Note_column::has_interface (i.elem_l_)) + note_column_l_arr_.push (i.elem_l_); } void -Rest_collision_engraver::do_pre_move_processing() +Rest_collision_engraver::stop_translation_timestep () { if (rest_collision_p_) { - typeset_element (rest_collision_p_); + typeset_grob (rest_collision_p_); rest_collision_p_ = 0; } note_column_l_arr_.clear ();