2 music-list.cc -- implement Music_list, Chord, Voice
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
13 #include "music-list.hh"
15 Music_list::Music_list (Music_list const&s)
18 multi_level_i_ = s.multi_level_i_;
19 for (iter (s.music_p_list_.top(), i); i.ok (); i++)
23 IMPLEMENT_IS_TYPE_B1(Music_list, Music);
24 IMPLEMENT_IS_TYPE_B1(Voice,Music_list);
25 IMPLEMENT_IS_TYPE_B1(Chord,Music_list);
28 Chord::time_int() const
31 for (iter (music_p_list_.top(), i); i.ok (); i++)
32 m.unite (i->time_int());
38 Chord::translate (Moment m)
40 for (iter (music_p_list_.top(), i); i.ok (); i++)
55 Voice::time_int() const
58 for (iter (music_p_list_.top(), i); i.ok (); i++)
60 MInterval interval = i->time_int();
65 if (!interval.empty_b())
66 last += interval.length();
68 return offset_mom_ + MInterval (0,last);
72 Voice::translate (Moment dt)
78 Music_list::Music_list()
84 Music_list::add (Music*m_p)
89 m_p->parent_music_l_ = this;
90 music_p_list_.bottom().add (m_p);
94 Music_list::transpose (Melodic_req const*rq)
96 for (iter (music_p_list_.top(),i); i.ok (); i++)
101 Music_list::do_print() const
104 for (iter (music_p_list_.top(),i); i.ok (); i++)
109 IMPLEMENT_IS_TYPE_B1(Request_chord, Chord);
112 Request_chord::Request_chord()