source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
- Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer-group-performer.hh"
-#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();
-}
+#include "warn.hh"
void
-Performer::play( Audio_item* p )
+Performer::play_element (Audio_element* p)
{
- daddy_perf_l_->play( p );
-}
-
-void
-Performer::play( Midi_item* l )
-{
- daddy_perf_l_->play( l );
+ get_daddy_perf ()->play_element (p);
}
int
-Performer::get_tempo_i()const
+Performer::get_tempo () const
{
- return daddy_perf_l_->get_tempo_i();
+ return get_daddy_perf ()->get_tempo ();
}
-void
-Performer::print() const
+Performer_group_performer*
+Performer::get_daddy_perf () const
{
-#ifndef NPRINT
- mtor << "\n" << name() << " {";
- do_print();
- mtor << "}";
-#endif
+ return (daddy_trans_)
+ ?dynamic_cast<Performer_group_performer *> (daddy_trans_)
+ : 0;
}
void
-Performer::process_requests()
+Performer::acknowledge_audio_element (Audio_element_info)
{
}
void
-Performer::set( Moment )
+Performer::create_audio_elements ()
{
-}
-
-//<ugh>
-int
-Performer::get_track_i() const
-{
- return daddy_perf_l_->get_track_i();
-}
-
-void
-Performer::set_track( int& )
-{
-}
-//</ugh>
-
-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()
-{
-}
void
-Performer::do_removal_processing()
+Performer::announce_element (Audio_element_info i)
{
+ if (!i.origin_trans_)
+ i.origin_trans_= this;
+ get_daddy_perf ()->announce_element (i);
}