2 voice-elt.cc -- implement Voice_element
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
13 #include "voice-element.hh"
14 #include "musical-request.hh"
15 #include "command-request.hh"
19 Voice_element::transpose(Melodic_req
const&d
)const
21 for (iter_top(req_p_list_
,i
); i
.ok(); i
++) {
27 Voice_element::print() const
30 mtor
<< "voice_element { dur :"<< duration_
<<"\n";
31 mtor
<< "principal: " << principal_req_l_
->name() << "\n";
32 for (iter_top(req_p_list_
,rc
); rc
.ok(); rc
++) {
41 Voice_element::add(Request
*r
)
43 if (! principal_req_l_
)
47 assert (!duration_
|| duration_
== r
->duration());
48 duration_
= r
->duration();
52 req_p_list_
.bottom().add(r
);
56 Voice_element::Voice_element()
63 Voice_element::Voice_element(Voice_element
const&src
)
68 for (iter_top(src
.req_p_list_
, i
); i
.ok(); i
++)
74 Voice_element::set_default_group(String s
)
76 for (iter_top(req_p_list_
, i
); i
.ok(); i
++)
77 if (i
->command() &&i
->command()->groupchange())
79 Group_change_req
*greq
= new Group_change_req
;
80 greq
->newgroup_str_
= s
;