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++) {
59 MInterval interval = i->time_int();
64 if ( !interval.empty_b() )
65 last += interval.length();
67 return offset_mom_ + MInterval(0,last);
71 Voice::translate(Moment dt)
77 Music_list::Music_list()
83 Music_list::add(Music*m_p)
88 m_p->parent_music_l_ = this;
89 music_p_list_.bottom().add(m_p);
93 Music_list::transpose(Melodic_req const*rq)
95 for (iter(music_p_list_.top(),i); i.ok(); i++)
100 Music_list::do_print()const
103 for (iter(music_p_list_.top(),i); i.ok(); i++)
108 IMPLEMENT_IS_TYPE_B1(Request_chord, Chord);
111 Request_chord::Request_chord()