]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score-performer.hh
ecd7b1101c73635209afbd56aeefdd28ffb02e9e
[lilypond.git] / lily / include / score-performer.hh
1 /*
2   score-performer.hh -- declare Score_performer
3
4   (c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
5                  Jan Nieuwenhuizen <janneke@gnu.org>
6  */
7
8 #ifndef SCORE_PERFORMER_HH
9 #define SCORE_PERFORMER_HH
10
11 #include "performer-group-performer.hh"
12 #include "score-translator.hh"
13
14 /**
15   Top level performer. Completely takes care of MIDI output
16  */
17 class Score_performer : public Score_translator, public virtual Performer_group_performer
18 {
19 public:
20   TRANSLATOR_DECLARATIONS(Score_performer);
21   ~Score_performer ();
22   Performance *performance_;
23
24 protected:
25   virtual void prepare (Moment mom);
26   virtual void one_time_step ();
27   virtual void initialize ();
28   virtual void announce_element (Audio_element_info);
29   virtual int get_tempo () const;
30   virtual void play_element (Audio_element* p);
31   virtual Music_output *get_output ();
32 private:
33   void header (Midi_stream&);
34
35   Audio_column* audio_column_;
36 };
37
38 #endif // SCORE_PERFORMER_HH