2 score-engraver.hh -- declare Score_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #ifndef SCORE_ENGRAVER_HH
10 #define SCORE_ENGRAVER_HH
12 #include "engraver-group-engraver.hh"
13 #include "score-translator.hh"
15 class Score_engraver : public virtual Score_translator,
16 public virtual Engraver_group_engraver
19 int breaks_; // used for stat printing
21 Link_array<Grob> elems_;
22 Paper_column *command_column_;
23 Paper_column *musical_column_;
27 void set_columns (Paper_column *, Paper_column *);
30 /* Score_translator */
31 virtual void finish ();
32 virtual void prepare (Moment);
33 virtual void one_time_step ();
35 /* Engraver_group_engraver interface */
36 virtual void acknowledge_grob (Grob_info);
37 virtual bool try_music (Music *);
38 virtual void initialize ();
39 virtual void finalize ();
40 virtual void announce_grob (Grob_info);
41 virtual void stop_translation_timestep ();
44 TRANSLATOR_DECLARATIONS (Score_engraver);
45 void forbid_breaks ();
46 virtual Music_output *get_output ();
49 #endif /* SCORE_ENGRAVER_HH */