]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/performer.cc
release: 1.1.1
[lilypond.git] / lily / performer.cc
index e26f2ef2da57f5ccc52da1b62d3e4df0c6249440..449caf22bb486cc2de1c436eafbd99a6fb2f01f9 100644 (file)
@@ -1,8 +1,10 @@
 /*
-  performer.cc -- declare Performer
+  performer.cc -- implement Performer
 
-  (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-                 Jan Nieuwenhuizen <jan@digicash.com>
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1996,  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+               Jan Nieuwenhuizen <janneke@gnu.org>
  */
 
 
 #include "debug.hh"
 
 
-IMPLEMENT_IS_TYPE_B(Performer);
-
-Performer::Performer()
-{
-    daddy_perf_l_ = 0;
-    init_b_ =false;
-}
-
-Performer::~Performer()
-{
-}
-
-void
-Performer::do_print() const
-{
-}
-
-Moment
-Performer::get_mom() const
-{
-    return daddy_perf_l_->get_mom();
-}
+IMPLEMENT_IS_TYPE_B1(Performer, Translator);
 
 void 
-Performer::play_event( Midi_item* l 
+Performer::play (Audio_element* p
 { 
-    daddy_perf_l_->play_event( l ); 
+  daddy_perf_l ()->play (p); 
 }
 
 int
-Performer::get_tempo_i()const
-{
-    return daddy_perf_l_->get_tempo_i();
-}
-
-void
-Performer::print() const
-{
-#ifndef NPRINT
-    mtor << "\n" << name() << " {";
-    do_print();
-    mtor << "}";
-#endif
-}
-
-void
-Performer::process_requests()
-{
-}
-
-void
-Performer::set( Moment )
-{
-} 
-
-bool 
-Performer::do_try_request( Request* req_l )
-{
-    return false;
-}
-
-bool
-Performer::try_request(Request*r)
-{
-    if (!init_b_) { 
-       creation_processing();
-    }
-    return do_try_request(r);
-}
-
-void
-Performer::creation_processing()
-{
-    if (!init_b_) { 
-/*     if ( daddy_perf_l_ ) {
-           init_b_ = true;     // ugh. avoid recursion
-           daddy_perf_l_->creation_processing();
-           init_b_ = false;
-       }
-       
-       */
-       do_creation_processing();
-       init_b_ = true;
-    }
-}
-void
-Performer::do_creation_processing()
+Performer::get_tempo_i() const
 {
+  return daddy_perf_l ()->get_tempo_i();
 }
 
-void
-Performer::do_removal_processing()
+Performer_group_performer*
+Performer::daddy_perf_l () const
 {
+  return (daddy_trans_l_) 
+    ?dynamic_cast<Performer_group_performer *> (daddy_trans_l_)
+    : 0;
 }