2 #include "inputmusic.hh"
6 Simple_music::add(Voice_element*v)
12 Simple_music::length()
17 Simple_music::translate_time(Real t)
23 Simple_music::convert()
26 l.bottom().add(new Voice(voice_));
32 Simple_music::print() const
34 mtor << "Simple_music {";
42 Complex_music::add(Input_music*v)
48 Complex_music::print() const
50 for (PCursor<Input_music*> i(elts); i.ok(); i++)
55 Complex_music::concatenate(Complex_music*h)
57 for (PCursor<Input_music*> i(h->elts); i.ok(); i++)
61 Complex_music::Complex_music()
65 Complex_music::Complex_music(Complex_music const&s)
67 for (PCursor<Input_music*> i(s.elts); i.ok(); i++)
71 /****************************************************************/
74 Music_voice::print() const
76 mtor << "Music_voice {";
77 Complex_music::print();
82 Music_voice::add_elt(Voice_element*v)
84 PCursor<Input_music*> c(elts.bottom());
85 if (!c.ok() || !c->simple()) {
86 Simple_music*vs = new Simple_music;
92 Simple_music *s = c->simple();
101 for (PCursor<Input_music*> i(elts); i.ok(); i++)
108 Music_voice::convert()
113 for (PCursor<Input_music*> i(elts); i.ok(); i++) {
114 Real len = i->length();
115 Voice_list k(i->convert());
116 k.translate_time(here);
125 Music_voice::translate_time(Real t)
127 elts.bottom()->translate_time(t);
135 Music_general_chord::add_elt(Voice_element*v)
137 Simple_music*vs = new Simple_music;
139 elts.bottom().add(vs);
143 Music_general_chord::print() const
145 mtor << "Music_general_chord {";
146 Complex_music::print();
151 Music_general_chord::translate_time(Real t)
153 for (PCursor<Input_music*> i(elts); i.ok(); i++)
154 i->translate_time(t);
158 Music_general_chord::length()
162 for (PCursor<Input_music*> i(elts); i.ok(); i++)
163 l = l >? i->length();
168 Music_general_chord::convert()
171 for (PCursor<Input_music*> i(elts); i.ok(); i++) {
172 Voice_list k(i->convert());
182 Voice_list::translate_time(Real x)
184 for (PCursor<Voice*> i(*this); i.ok(); i++)