X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcollision-engraver.cc;h=e3100f46ffd62fadc9fb8d18ebc5c88b958ce457;hb=f525f992e5dbeb579981153775cc9ee10b78cb3f;hp=5bece2105c66ad22c8a4dfdc07bff633b01d7d71;hpb=7e72a1e50e94a7f9738d62599de79fe7745f600c;p=lilypond.git diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index 5bece2105c..e3100f46ff 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -12,9 +12,6 @@ #include "engraver.hh" #include "axis-group-interface.hh" -/* - collect Note_column, and as soon as there are 2 or more, put them in - a collision object. */ class Collision_engraver : public Engraver { Item * col_; @@ -25,7 +22,7 @@ protected: virtual void process_acknowledged_grobs (); virtual void stop_translation_timestep (); public: - TRANSLATOR_DECLARATIONS(Collision_engraver); + TRANSLATOR_DECLARATIONS (Collision_engraver); }; @@ -36,11 +33,11 @@ Collision_engraver::process_acknowledged_grobs () return ; if (!col_) { - col_ = make_item ("NoteCollision"); - announce_grob (col_, SCM_EOL); + col_ = make_item ("NoteCollision", SCM_EOL); + } - for (int i=0; i< note_columns_.size (); i++) + for (int i = 0; i< note_columns_.size (); i++) Note_collision_interface::add_column (col_,note_columns_[i]); } @@ -50,7 +47,7 @@ Collision_engraver::acknowledge_grob (Grob_info i) if (Note_column::has_interface (i.grob_)) { /*should check Y axis? */ - if (Note_column::rest_b (i.grob_) || i.grob_->get_parent (X_AXIS)) + if (Note_column::has_rests (i.grob_) || i.grob_->get_parent (X_AXIS)) return ; note_columns_.push (i.grob_); @@ -60,24 +57,20 @@ Collision_engraver::acknowledge_grob (Grob_info i) void Collision_engraver::stop_translation_timestep () { - if (col_) - { - typeset_grob (col_); - col_ =0; - } + col_ = 0; note_columns_.clear (); } Collision_engraver::Collision_engraver () { - col_ =0; + col_ = 0; } -ENTER_DESCRIPTION(Collision_engraver, -/* descr */ "", +ADD_TRANSLATOR (Collision_engraver, +/* descr */ "Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.", /* creats*/ "NoteCollision", /* accepts */ "", /* acks */ "note-column-interface",