]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score-performer.hh
release: 0.0.77.jcn1
[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 class Score_performer: 
15     public Performer_group_performer, public Global_translator 
16 {
17 public:
18     NAME_MEMBERS();
19     Score_performer();
20     ~Score_performer();
21
22 protected:
23     virtual Translator* ancestor_l( int l );
24     virtual int depth_i() const;
25
26     virtual void finish();
27     virtual Moment get_mom() const;
28     virtual void prepare( Moment mom );
29     virtual void process();
30     virtual void set_score( Score* score_l );
31     virtual void start();
32     virtual int get_tempo_i() const;
33     virtual void play_event(Midi_item*);
34 private:
35     void header(Midi_stream&);
36
37     Midi_def* midi_l_;
38
39     Moment prev_mom_;
40     Moment now_mom_;
41
42     Link_array<Midi_item> midi_item_p_arr_;
43 };
44
45 #endif // SCORE_PERFORMER_HH