]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/performer.hh
release: 1.3.19
[lilypond.git] / lily / include / performer.hh
1 /*
2   performer.hh -- declare Performer
3
4   (c) 1996,  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
5                  Jan Nieuwenhuizen <janneke@gnu.org>
6  */
7
8 #ifndef PERFORMER_HH
9 #define PERFORMER_HH
10
11 #include "audio-element-info.hh"
12 #include "array.hh"
13 #include "request.hh"
14 #include "score-element-info.hh"
15 #include "staff-info.hh"
16 #include "translator.hh"
17
18 /**
19   Convert a music definition into a audio representation.
20   A baseclass
21  */
22 class Performer : public virtual Translator
23 {
24 public:
25   VIRTUAL_COPY_CONS(Translator);
26   friend class Performer_group_performer;  
27   Performer_group_performer* daddy_perf_l() const;
28
29 protected:
30   virtual void announce_element (Audio_element_info);
31   virtual void acknowledge_element (Audio_element_info);
32   virtual void process_acknowledged ();
33   virtual int get_tempo_i() const;
34   virtual void play_element (Audio_element * elem_p );
35 };
36
37
38 #endif // PERFORMER_HH
39