From: David Kastrup Date: Sun, 5 Jun 2016 14:32:11 +0000 (+0200) Subject: Issue 4886: Replace Grace_beam_engraver::listen_beam X-Git-Tag: release/2.19.44-1~20 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ece0ac805c9705a936915114f82a4532b1b548dc;p=lilypond.git Issue 4886: Replace Grace_beam_engraver::listen_beam The comment for it complains about copy&paste code, but the actual code for Beam_engraver::listen_beam has evolved since then and the changes, while seeming appropriate for the Grace_beam_engraver as well, have not been copied over. Deleting the listener callback and instead utilizing the one from the base class Beam_engraver seems like the sanest course of action. --- diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 277d1b0a0e..a82dfe8757 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -40,6 +40,7 @@ class Beam_engraver : public Engraver public: void acknowledge_stem (Grob_info); void acknowledge_rest (Grob_info); + void listen_beam (Stream_event *); protected: Stream_event *start_ev_; @@ -77,7 +78,6 @@ protected: virtual bool valid_start_point (); virtual bool valid_end_point (); - void listen_beam (Stream_event *); public: TRANSLATOR_DECLARATIONS (Beam_engraver); }; @@ -343,7 +343,6 @@ class Grace_beam_engraver : public Beam_engraver public: TRANSLATOR_DECLARATIONS (Grace_beam_engraver); TRANSLATOR_INHERIT (Beam_engraver); - void listen_beam (Stream_event *); protected: virtual bool valid_start_point (); @@ -368,25 +367,10 @@ Grace_beam_engraver::valid_end_point () return beam_ && valid_start_point (); } -/* - Ugh, C&P code. - */ -void -Grace_beam_engraver::listen_beam (Stream_event *ev) -{ - Direction d = to_dir (ev->get_property ("span-direction")); - - if (d == START && valid_start_point ()) - start_ev_ = ev; - else if (d == STOP && valid_end_point ()) - stop_ev_ = ev; -} - - void Grace_beam_engraver::boot () { - ADD_LISTENER (Grace_beam_engraver, beam); + ADD_LISTENER (Beam_engraver, beam); ADD_ACKNOWLEDGER (Beam_engraver, stem); ADD_ACKNOWLEDGER (Beam_engraver, rest); }