]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/performer.hh
release: 1.1.46
[lilypond.git] / lily / include / performer.hh
index 356b0c939b19f76de945e67b4751c71bf91fc7c7..03fea2f25963cb990cd4ddb4d018c6635ff7d2b4 100644 (file)
@@ -1,36 +1,37 @@
 /*
   performer.hh -- declare Performer
 
-  (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-                 Jan Nieuwenhuizen <jan@digicash.com>
+  (c) 1996,  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+                 Jan Nieuwenhuizen <janneke@gnu.org>
  */
 
 #ifndef PERFORMER_HH
 #define PERFORMER_HH
 
-#include "lily-proto.hh"
-#include "varray.hh"
+#include "audio-element-info.hh"
+#include "array.hh"
 #include "request.hh"
-#include "score-elem-info.hh"
+#include "score-element-info.hh"
 #include "staff-info.hh"
+#include "translator.hh"
 
-class Performer {
+/**
+  Convert a music definition into a audio representation.
+  A baseclass
+ */
+class Performer : public virtual Translator{
 public:
-    NAME_MEMBERS();
-    Performer_group_performer* daddy_perf_l_;
-
-    Performer();
-    virtual ~Performer();
-
-    void print() const;
-    virtual void process_requests();
-    virtual bool try_request( Request* req_l );
-
+  VIRTUAL_COPY_CONS(Translator);
+  friend class Performer_group_performer;  
+  Performer_group_performer* daddy_perf_l() const;
 protected:
-    virtual void do_print() const;
-    virtual void play_event( Midi_item* l );
+  virtual void announce_element (Audio_element_info);
+  virtual void acknowledge_element (Audio_element_info);
+  virtual void process_acknowledged ();
+  virtual int get_tempo_i() const;
+  virtual void play (Audio_element * elem_p );
 };
 
-#include "global-performers.hh"
 
 #endif // PERFORMER_HH
+