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 ();
36 /* Engraver_group_engraver interface */
37 virtual void acknowledge_grob (Grob_info);
38 virtual bool try_music (Music *);
39 virtual void initialize ();
40 virtual void finalize ();
41 virtual void announce_grob (Grob_info);
42 virtual void stop_translation_timestep ();
47 virtual void derived_mark () const;
49 TRANSLATOR_DECLARATIONS (Score_engraver);
50 void forbid_breaks ();
51 virtual SCM get_output ();
54 #endif /* SCORE_ENGRAVER_HH */