/*
- 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;
}