2 #include "inputmusic.hh"
7 Simple_music::add(Voice_element*v)
13 Simple_music::length()const
18 Simple_music::translate_time(Moment t)
24 Simple_music::convert()const
27 l.bottom().add(new Voice(voice_));
33 Simple_music::print() const
35 mtor << "Simple_music {";
43 Complex_music::add(Input_music*v)
49 Complex_music::print() const
51 for (iter_top(elts,i); i.ok(); i++)
56 Complex_music::concatenate(Complex_music*h)
58 for (iter_top(h->elts,i); i.ok(); i++)
62 Complex_music::Complex_music()
66 Complex_music::Complex_music(Complex_music const&s)
68 for (iter_top(s.elts,i); i.ok(); i++)
72 Complex_music::set_default_group(String g)
74 for (iter_top(elts,i); i.ok(); i++)
75 i->set_default_group(g);
77 /* *************************************************************** */
80 Music_voice::print() const
82 mtor << "Music_voice {";
83 Complex_music::print();
88 Music_voice::add_elt(Voice_element*v)
90 PCursor<Input_music*> c(elts.bottom());
91 if (!c.ok() || !c->simple()) {
92 Simple_music*vs = new Simple_music;
98 Simple_music *s = c->simple();
103 Music_voice::length()const
107 for (iter_top(elts,i); i.ok(); i++)
114 Music_voice::convert()const
119 for (iter_top(elts,i); i.ok(); i++) {
120 Moment len = i->length();
121 Voice_list k(i->convert());
122 k.translate_time(here);
130 Music_voice::translate_time(Moment t)
132 elts.bottom()->translate_time(t);
137 /* *************** */
140 Music_general_chord::add_elt(Voice_element*v)
142 Simple_music*vs = new Simple_music;
144 elts.bottom().add(vs);
148 Music_general_chord::print() const
150 mtor << "Music_general_chord {";
151 Complex_music::print();
156 Music_general_chord::translate_time(Moment t)
158 for (iter_top(elts,i); i.ok(); i++)
159 i->translate_time(t);
163 Music_general_chord::length()const
167 for (iter_top(elts,i); i.ok(); i++)
168 l = l >? i->length();
173 Music_general_chord::convert()const
176 for (iter_top(elts,i); i.ok(); i++) {
177 Voice_list k(i->convert());
183 /* *************** */
186 Multi_voice_chord::set_default_group(String g)
189 for (iter_top(elts, i); i.ok(); i++) {
190 i->set_default_group(g + String(j));
196 /* *************** */
199 Voice_list::translate_time(Moment x)
201 for (iter_top(*this,i); i.ok(); i++)