]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score-performer.hh
release: 0.1.8
[lilypond.git] / lily / include / score-performer.hh
1 /*
2   score-performer.hh -- declare Score_performer
3
4   (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
5                  Jan Nieuwenhuizen <jan@digicash.com>
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     DECLARE_MY_RUNTIME_TYPEINFO;
22     Score_performer();
23     ~Score_performer();
24
25 protected:
26     virtual Translator* ancestor_l (int l);
27     virtual int depth_i() const;
28
29     virtual void finish();
30     virtual void prepare (Moment mom);
31     virtual void process();
32     virtual void set_score (Score* score_l);
33     virtual void start();
34     virtual int get_tempo_i() const;
35     virtual void play (Audio_element* p);
36
37 private:
38     void header (Midi_stream&);
39
40     Moment now_mom_;
41     Audio_column* audio_column_l_;
42 };
43
44 #endif // SCORE_PERFORMER_HH