2 input-performer.cc -- implement Input_performer
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 Jan Nieuwenhuizen <jan@digicash.com>
11 #include "performer.hh"
12 #include "input-performer.hh"
14 #include "input-performer.hh"
15 #include "performer-group-performer.hh"
18 Input_performer::is_name_b(String n)
20 for (int i=0; i < alias_str_arr_.size(); i++)
21 if (alias_str_arr_[i] == n)
27 Input_performer::print() const
30 mtor << "type " << type_str_;
31 mtor << "Consists of ";
32 for (int i=0; i< consists_str_arr_.size(); i++)
33 mtor << consists_str_arr_[i] << ',';
35 for (PCursor<Input_performer*> i(contains_iperf_p_list_.top()); i.ok(); i++)
43 Input_performer::recursive_find(String nm)
48 Input_performer * r =0;
49 PCursor<Input_performer*> i(contains_iperf_p_list_.top());
50 for (; !r &&i.ok(); i++) {
51 if (i->recursive_find(nm))
59 Input_performer::find_iperf_l(String nm)
61 for (PCursor<Input_performer*> i(contains_iperf_p_list_.top()); i.ok(); i++)
62 if (i->is_name_b( nm))
69 Performer_group_performer *
70 Input_performer::get_group_performer_p()
72 Performer_group_performer * perf_p = (Performer_group_performer*)
73 get_performer_p(type_str_);
75 for (int i=0; i < consists_str_arr_.size(); i++) {
76 perf_p->add( get_performer_p( consists_str_arr_[i]) );
78 perf_p -> iperf_l_ = this;
84 Input_performer::accept_req_b()
86 return ! contains_iperf_p_list_.size();
90 Input_performer::add(Input_performer *ip)
92 contains_iperf_p_list_.bottom().add(ip);
96 Input_performer::get_default_iperf_l()
98 if ( contains_iperf_p_list_.size() )
99 return contains_iperf_p_list_.top();
105 Input_performer_list::Input_performer_list(Input_performer_list const &s)
107 for (PCursor<Input_performer*> pc(s); pc.ok(); pc++) {
108 Input_performer *q = pc;
109 Input_performer *p=new Input_performer(*q) ;