2 #include "inputmusic.hh"
4 Input_music::~Input_music()
7 Vertical_simple::Vertical_simple()
11 Vertical_simple::Vertical_simple(Vertical_simple const&s)
13 voice_ = new Voice(*s.voice_);
16 Vertical_simple::add(Voice_element*v)
22 Vertical_simple::length()
24 return voice_->last();
27 Vertical_simple::translate_time(Real t)
33 Vertical_simple::convert()
36 l.bottom().add(new Voice(*voice_));
40 Vertical_simple::~Vertical_simple()
46 Vertical_simple::print() const
48 mtor << "Vertical_simple {";
55 Music_voice::print() const
57 mtor << "Music_voice {";
58 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++)
64 Music_voice::concatenate(Music_voice*h)
66 for (PCursor<Vertical_music*> i(h->voice_); i.ok(); i++)
71 Music_voice::Music_voice(Music_voice const&s)
73 for (PCursor<Vertical_music*> i(s.voice_); i.ok(); i++)
78 Music_voice::add(Voice_element*v)
80 PCursor<Vertical_music*> c(voice_.bottom());
81 if (!c.ok() || !c->simple()) {
82 Vertical_simple*vs = new Vertical_simple;
88 Vertical_simple *s = c->simple();
93 Music_voice::add(Vertical_music*v)
95 voice_.bottom().add(v);
103 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++)
110 Music_voice::convert()
115 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++) {
116 Real len = i->length();
117 Voice_list k(i->convert());
118 k.translate_time(here);
127 Music_voice::translate_time(Real t)
129 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++)
130 i->translate_time(t);
137 Music_general_chord::print() const
139 mtor << "Music_general_chord {";
140 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++)
146 Music_general_chord::concatenate(Music_general_chord*v)
148 for (PCursor<Horizontal_music*> i(v->chord_); i.ok(); i++)
153 Music_general_chord::translate_time(Real t)
155 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++)
156 i->translate_time(t);
162 Music_general_chord::length()
166 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++)
167 l = MAX(l, i->length());
172 Music_general_chord::add(Horizontal_music*h)
174 chord_.bottom().add(h);
178 Music_general_chord::convert()
181 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++) {
182 Voice_list k(i->convert());
189 Music_general_chord::Music_general_chord(
190 Music_general_chord const & s)
192 for (PCursor<Horizontal_music*> i(s.chord_); i.ok(); i++) {
200 Voice_list::translate_time(Real x)
202 for (PCursor<Voice*> i(*this); i.ok(); i++)
209 for (PCursor<Voice*> i(*this); i.ok(); i++)