2 auto-beam-engraver.hh -- declare Auto_beam_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 1999 Jan Nieuwenhuizen <janneke@gnu.org>
10 #ifndef AUTO_BEAM_ENGRAVER_HH
11 #define AUTO_BEAM_ENGRAVER_HH
13 #include "engraver.hh"
15 class Auto_beam_engraver : public Engraver
18 Auto_beam_engraver ();
19 VIRTUAL_COPY_CONS (Translator);
22 virtual bool do_try_music (Music*);
23 virtual void do_pre_move_processing ();
24 virtual void do_post_move_processing ();
25 virtual void do_removal_processing ();
26 virtual void acknowledge_element (Score_element_info);
27 virtual void do_process_requests ();
28 virtual void process_acknowledged ();
29 virtual void do_creation_processing ();
32 void consider_end_and_begin (Moment test_mom);
33 Beam* create_beam_p ();
36 bool same_grace_state_b (Score_element* e);
40 Beam *finished_beam_p_;
41 Array<Stem*>* stem_l_arr_p_;
47 Moment beam_start_moment_;
48 Moment beam_start_location_;
50 Timing_translator * timer_l_;
51 // We act as if beam were created, and start a grouping anyway.
52 Beaming_info_list*grouping_p_;
53 Beaming_info_list*finished_grouping_p_;
56 #endif /* AUTO_BEAM_ENGRAVER_HH */