X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Fperformer.cc;h=60a0519d42b31336abaa8b1bff32022a46305581;hb=c115eee78ce32dab7ee8b8e9a3f24836ab7f5211;hp=ed72f2a2cee5f948f4f8dc00bb328189ad6d08d5;hpb=2862b1027f316a2f0444fa92e441ee28acf7a463;p=lilypond.git diff --git a/lily/performer.cc b/lily/performer.cc index ed72f2a2ce..60a0519d42 100644 --- a/lily/performer.cc +++ b/lily/performer.cc @@ -1,93 +1,57 @@ /* - performer.cc -- implement Performer + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1996--2010 Han-Wen Nienhuys + Jan Nieuwenhuizen - (c) 1996, 1997 Han-Wen Nienhuys - Jan Nieuwenhuizen - */ + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -#include "performer-group-performer.hh" -#include "debug.hh" + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ +#include "context.hh" +#include "performer.hh" +#include "performer-group.hh" +#include "warn.hh" -IMPLEMENT_IS_TYPE_B(Performer); -Performer::Performer() +Performer_group * +Performer::get_daddy_performer () const { - daddy_perf_l_ = 0; - init_b_ =false; -} - -Performer::~Performer() -{ -} - -void -Performer::do_print() const -{ -} - -void -Performer::play (Audio_element* p) -{ - daddy_perf_l_->play (p); -} - -int -Performer::get_tempo_i() const -{ - return daddy_perf_l_->get_tempo_i(); + return + dynamic_cast (get_daddy_translator ()); } void -Performer::print() const +Performer::acknowledge_audio_element (Audio_element_info) { -#ifndef NPRINT - DOUT << "\n" << name() << " {"; - do_print(); - DOUT << "}"; -#endif } void -Performer::process_requests() -{ -} - -bool -Performer::do_try_request (Request* req_l) +Performer::create_audio_elements () { - return false; -} - -bool -Performer::try_request (Request*r) -{ - if (!init_b_) - { - creation_processing(); - } - return do_try_request (r); } void -Performer::creation_processing() +Performer::announce_element (Audio_element_info i) { - if (!init_b_) - { - do_creation_processing(); - init_b_ = true; - } -} + if (!i.origin_trans_) + i.origin_trans_ = this; -void -Performer::do_creation_processing() -{ + get_daddy_performer ()->announce_element (i); } -void -Performer::do_removal_processing() +Performer * +unsmob_performer (SCM perf) { + return dynamic_cast (unsmob_translator (perf)); }