X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fperformer-group.cc;h=d4ead0648a2f8073db71ec824410eb201c163b75;hb=67c6cbab2b82f7b972efac64e85474dc2c4d0da5;hp=ef4a9d87991c0a2c2057229fb8a2438528f8fee3;hpb=1f2689d8aa3674159af6ad9039ea4aa902a58900;p=lilypond.git diff --git a/lily/performer-group.cc b/lily/performer-group.cc index ef4a9d8799..d4ead0648a 100644 --- a/lily/performer-group.cc +++ b/lily/performer-group.cc @@ -3,27 +3,34 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2005 Han-Wen Nienhuys + (c) 1996--2008 Han-Wen Nienhuys Jan Nieuwenhuizen */ -#include "performer-group-performer.hh" +#include "performer-group.hh" #include "context.hh" #include "audio-element.hh" #include "warn.hh" ADD_TRANSLATOR_GROUP (Performer_group, - /* doc */ "", - /* create */ "", - /* accept */ "", - /* read */ "", - /* write */ ""); + /* doc */ + "", + + /* create */ + "", + + /* read */ + "", + + /* write */ + "" + ); void Performer_group::announce_element (Audio_element_info info) { - announce_infos_.push (info); + announce_infos_.push_back (info); Translator_group *t = context ()->get_parent_context ()->implementation (); @@ -34,7 +41,7 @@ Performer_group::announce_element (Audio_element_info info) void Performer_group::acknowledge_audio_elements () { - for (int j = 0; j < announce_infos_.size (); j++) + for (vsize j = 0; j < announce_infos_.size (); j++) { Audio_element_info info = announce_infos_[j]; @@ -62,6 +69,16 @@ performer_each (SCM list, Performer_method method) void Performer_group::do_announces () { + for (SCM s = context ()->children_contexts (); + scm_is_pair (s); s = scm_cdr (s)) + { + Context *c = unsmob_context (scm_car (s)); + Performer_group *group + = dynamic_cast (c->implementation ()); + if (group) + group->do_announces (); + } + while (1) { performer_each (get_simple_trans_list (), @@ -74,27 +91,3 @@ Performer_group::do_announces () announce_infos_.clear (); } } - -void -Performer_group::play_element (Audio_element *e) -{ - Context *c = context_->get_parent_context (); - if (c) - { - Performer_group *pgp = dynamic_cast (c->implementation ()); - pgp->play_element (e); - } -} - -int -Performer_group::get_tempo () const -{ - Context *c = context_->get_parent_context (); - if (c) - { - Performer_group *pgp = dynamic_cast (c->implementation ()); - return pgp->get_tempo (); - } - return 60; -} -