]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/performer.hh
patch::: 0.0.75.jcn4: midi op
[lilypond.git] / lily / include / performer.hh
1 /*
2   performer.hh -- declare Performer
3
4   (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
5                  Jan Nieuwenhuizen <jan@digicash.com>
6  */
7
8 #ifndef PERFORMER_HH
9 #define PERFORMER_HH
10
11 #include "lily-proto.hh"
12 #include "varray.hh"
13 #include "request.hh"
14 #include "score-elem-info.hh"
15 #include "staff-info.hh"
16
17 class Performer {
18 public:
19     NAME_MEMBERS();
20     Performer_group_performer* daddy_perf_l_;
21
22     Performer();
23     virtual ~Performer();
24
25     virtual void midi_output( Midi_stream* midi_stream_l_ );
26     void print() const;
27     virtual void process_requests();
28
29     virtual void set( Moment mom );
30     virtual void set_track( Midi_def* midi_l, int& track_i_r );
31
32     virtual bool try_request( Request* req_l );
33
34 protected:
35     virtual void do_print() const;
36     virtual Moment get_mom() const;
37     virtual void play_event( Midi_item* l );
38 };
39
40 #include "global-performers.hh"
41
42 #endif // PERFORMER_HH