X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbeam-engraver.cc;h=f252eea5e2a1037c715ac72ef3aaf700bea8a0c0;hb=8e2eaf4959bec63a1128a444591a540f4f1e2937;hp=c9e9a12d497cc485dffe47b512066e36e03c7b18;hpb=0dcde4fc13c8091439fb8e2d77ea755357a0e7ed;p=lilypond.git diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index c9e9a12d49..f252eea5e2 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); }; @@ -100,7 +100,8 @@ Beam_engraver::valid_end_point () return valid_start_point (); } -Beam_engraver::Beam_engraver () +Beam_engraver::Beam_engraver (Context *c) + : Engraver (c) { beam_ = 0; finished_beam_ = 0; @@ -343,14 +344,14 @@ 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 (); virtual bool valid_end_point (); }; -Grace_beam_engraver::Grace_beam_engraver () +Grace_beam_engraver::Grace_beam_engraver (Context *c) + : Beam_engraver (c) { } @@ -368,21 +369,6 @@ 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 () {