X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcollision-engraver.cc;h=c468b610614d584733ddf8fa7c6186ebb92fe081;hb=465ea401ab24900be0da5560bf8f470efa8878f4;hp=41399bbeca594b9ce7bd509453dedfcb19ceb24e;hpb=6b9bfd374643d1eed1ea158777d796c57a2bcd3a;p=lilypond.git diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index 41399bbeca..c468b61061 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2002 Han-Wen Nienhuys + (c) 1997--2004 Han-Wen Nienhuys */ #include "note-column.hh" @@ -15,7 +15,8 @@ /* collect Note_column, and as soon as there are 2 or more, put them in a collision object. */ -class Collision_engraver : public Engraver { +class Collision_engraver : public Engraver +{ Item * col_; Link_array note_columns_; @@ -24,7 +25,7 @@ protected: virtual void process_acknowledged_grobs (); virtual void stop_translation_timestep (); public: - TRANSLATOR_DECLARATIONS(Collision_engraver); + TRANSLATOR_DECLARATIONS (Collision_engraver); }; @@ -35,8 +36,8 @@ Collision_engraver::process_acknowledged_grobs () return ; if (!col_) { - col_ = new Item (get_property ("NoteCollision")); - announce_grob (col_, SCM_EOL); + col_ = make_item ("NoteCollision", SCM_EOL); + } for (int i=0; i< note_columns_.size (); i++) @@ -49,7 +50,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_); @@ -59,11 +60,7 @@ 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 (); } @@ -75,10 +72,10 @@ Collision_engraver::Collision_engraver () -ENTER_DESCRIPTION(Collision_engraver, +ENTER_DESCRIPTION (Collision_engraver, /* descr */ "", /* creats*/ "NoteCollision", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "note-column-interface", /* reads */ "", /* write */ "");