- for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
- i->creation_processing();
-}
-
-void
-Performer_group_performer::do_print()const
-{
-#ifndef NPRINT
- if ( !check_debug)
- return ;
- for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
- i->print();
-#endif
-}
-
-void
-Performer_group_performer::do_removal_processing()
-{
- for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
- i->do_removal_processing();
-}
-
-bool
-Performer_group_performer::do_try_request (Request* req_l)
-{
- bool hebbes_b =false;
- for (int i =0; !hebbes_b && i < nongroup_l_arr_.size() ; i++)
- hebbes_b =nongroup_l_arr_[i]->try_request (req_l);
- if ( !hebbes_b && daddy_perf_l_)
- hebbes_b = daddy_perf_l_->try_request (req_l);
- return hebbes_b ;
-}
-
-Translator*
-Performer_group_performer::find_get_translator_l (String n,String id)
-{
- Translator * ret=0;
- Input_translator* itrans_l= itrans_l_-> recursive_find ( n);
- if (itrans_l) {
- ret = find_performer_l (n,id);
- if (!ret) {
- Performer_group_performer * group =
- itrans_l-> get_group_performer_p();
-
- add (group);
- ret = group;
-
- if (group->itrans_l_->is_name_b (n) )
- ret ->id_str_ = id;
- else
- return ret->find_get_translator_l (n,id);
-
+ for (int j = 0; j < announce_infos_.size (); j++)
+ {
+ Audio_element_info info = announce_infos_[j];
+
+ for (SCM p = get_simple_trans_list (); scm_is_pair (p); p = scm_cdr (p))
+ {
+ Translator *t = unsmob_translator (scm_car (p));
+ Performer *eng = dynamic_cast<Performer *> (t);
+ if (eng && eng != info.origin_trans_)
+ eng->acknowledge_audio_element (info);