]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score-performer.hh
release: 1.3.110
[lilypond.git] / lily / include / score-performer.hh
1 /*
2   score-performer.hh -- declare Score_performer
3
4   (c) 1996--2000 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 "global-translator.hh"
13
14 /**
15   Top level performer. Completely takes care of MIDI output
16  */
17 class Score_performer: 
18   public Performer_group_performer, public Global_translator 
19 {
20 public:
21   VIRTUAL_COPY_CONS(Translator);
22   
23   Score_performer();
24   ~Score_performer();
25   Performance *performance_p_;
26
27 protected:
28   virtual void finish();
29   virtual void prepare (Moment mom);
30   virtual void process();
31   virtual void start();
32   virtual void initialize ();
33   virtual void announce_element (Audio_element_info);
34   virtual int get_tempo_i() const;
35   virtual void play_element (Audio_element* p);
36   virtual Music_output *get_output_p ();
37
38 private:
39   void header (Midi_stream&);
40
41   Audio_column* audio_column_l_;
42 };
43
44 #endif // SCORE_PERFORMER_HH