]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/performer.hh
* gcc-3.4 snapshot: 3.4.0 20040215 (prerelease) compile fixes, and
[lilypond.git] / lily / include / performer.hh
1 /*
2   performer.hh -- declare Performer
3
4   (c) 1996--2004 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 "event.hh"
14 #include "grob-info.hh"
15 #include "translator.hh"
16
17 /* Convert a music definition into a audio representation.
18    A baseclass.  */
19 class Performer : public virtual Translator
20 {
21 public:
22   VIRTUAL_COPY_CONSTRUCTOR (Translator, Performer);
23   friend class Performer_group_performer;  
24   Performer_group_performer* get_daddy_performer () const;
25
26 protected:
27   virtual void announce_element (Audio_element_info);
28   virtual void acknowledge_audio_element (Audio_element_info);
29   virtual void create_audio_elements ();
30   virtual int get_tempo () const;
31   virtual void play_element (Audio_element * elem );
32 };
33
34
35 #endif /* PERFORMER_HH */
36