2 localkeyreg.cc -- implement Local_key_register
4 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
6 #include "musicalrequest.hh"
7 #include "localkeyreg.hh"
8 #include "localkeyitem.hh"
9 #include "complexwalker.hh"
11 Local_key_register::Local_key_register(Complex_walker
*w
)
18 Local_key_register::do_pre_move_process()
21 walk_l_
->typeset_element(key_item_p_
);
26 Local_key_register::acknowledge_element(Staff_elem_info info
)
28 if (info
.req_l_
->melodic()) {
29 Melodic_req
* melodic_l_
= info
.req_l_
->melodic();
31 if( melodic_l_
->forceacc_b_
||
32 local_key_
.oct(melodic_l_
->octave_i_
).acc(melodic_l_
->notename_i_
)
33 != melodic_l_
->accidental_i_
) {
34 Item
* support_l_
= info
.elem_p_
->item();
38 key_item_p_
= new Local_key_item(walk_l_
->c0_position_i());
41 key_item_p_
->add(melodic_l_
);
42 key_item_p_
->add(support_l_
);
43 local_key_
.oct(melodic_l_
->octave_i_
)
44 .set(melodic_l_
->notename_i_
, melodic_l_
->accidental_i_
);