- stem_l_arr_p_ = 0;
- shortest_mom_ = Moment (1, 8);
- finished_beam_p_ = 0;
- finished_grouping_p_ = 0;
- grouping_p_ = 0;
- timer_l_ =0;
-}
+ TRANSLATOR_DECLARATIONS (Auto_beam_engraver);
+
+protected:
+ void stop_translation_timestep ();
+ void process_music ();
+ virtual void finalize ();
+ virtual void derived_mark () const;
+
+ DECLARE_ACKNOWLEDGER (rest);
+ DECLARE_ACKNOWLEDGER (beam);
+ DECLARE_ACKNOWLEDGER (bar_line);
+ DECLARE_ACKNOWLEDGER (stem);
+ DECLARE_TRANSLATOR_LISTENER (beam_forbid);
+
+ void process_acknowledged ();
+
+private:
+ bool test_moment (Direction, Moment);
+ void consider_begin (Moment);
+ void consider_end (Moment);
+ Spanner *create_beam ();
+ void begin_beam ();
+ void end_beam ();
+ void junk_beam ();
+ bool is_same_grace_state (Grob *e);
+ void typeset_beam ();
+
+ Stream_event *forbid_;
+ /*
+ shortest_mom is the shortest note in the beam.
+ */
+ Moment shortest_mom_;
+ Spanner *finished_beam_;
+ vector<Item*> *stems_;