public:
void acknowledge_stem (Grob_info);
void acknowledge_rest (Grob_info);
+ void listen_beam (Stream_event *);
protected:
Stream_event *start_ev_;
virtual bool valid_start_point ();
virtual bool valid_end_point ();
- void listen_beam (Stream_event *);
public:
TRANSLATOR_DECLARATIONS (Beam_engraver);
};
return valid_start_point ();
}
-Beam_engraver::Beam_engraver ()
+Beam_engraver::Beam_engraver (Context *c)
+ : Engraver (c)
{
beam_ = 0;
finished_beam_ = 0;
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)
{
}
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_ACKNOWLEDGER (Beam_engraver, stem);
- ADD_ACKNOWLEDGER (Beam_engraver, rest);
+ ADD_ACKNOWLEDGER (Grace_beam_engraver, stem);
+ ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);
}
ADD_TRANSLATOR (Grace_beam_engraver,