1 #include "inputmusic.hh"
4 Vertical_simple::Vertical_simple()
10 Vertical_simple::add(Voice_element*v)
16 Vertical_simple::length()
18 return voice_->last();
21 Vertical_simple::translate_time(Real t)
26 Vertical_simple::convert()
29 l.bottom().add(voice_);
37 Music_voice::add(Voice_element*v)
39 PCursor<Vertical_music*> c(voice_.bottom());
40 if (!c.ok() || !c->simple()) {
41 Vertical_simple*vs = new Vertical_simple;
47 Vertical_simple *s = c->simple();
52 Music_voice::add(Vertical_music*v)
54 // v->translate_time(length());
55 voice_.bottom().add(v);
63 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++)
70 Music_voice::convert()
75 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++) {
76 Real len = i->length(); // has to be stored, since translate_time doesn't work on copies of the contents of i.
77 Voice_list k(i->convert());
78 k.translate_time(here);
87 Music_voice::translate_time(Real t)
89 for (PCursor<Vertical_music*> i(voice_); i.ok(); i++)
98 Music_general_chord::translate_time(Real t)
100 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++)
101 i->translate_time(t);
107 Music_general_chord::length()
111 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++)
112 l = MAX(l, i->length());
117 Music_general_chord::add(Horizontal_music*h)
119 chord_.bottom().add(h);
123 Music_general_chord::convert()
126 for (PCursor<Horizontal_music*> i(chord_); i.ok(); i++) {
127 Voice_list k(i->convert());
136 Voice_list::translate_time(Real x)
138 for (PCursor<Voice*> i(*this); i.ok(); i++)
145 for (PCursor<Voice*> i(*this); i.ok(); i++)