2 #include "complexwalker.hh"
3 #include "complexstaff.hh"
4 #include "voicegroup.hh"
7 static int temp_id_count;
9 Voice_group_registers::Voice_group_registers(Complex_walker*w_l, String id)
16 id = __FUNCTION__ + String(temp_id_count++);
22 Voice_group_registers::pre_move_processing()
24 stem_beam_reg_.pre_move_processing();
25 script_reg_.pre_move_processing();
26 text_reg_.pre_move_processing();
30 Voice_group_registers::post_move_processing()
32 stem_beam_reg_.post_move_processing();
33 text_reg_.post_move_processing();
34 script_reg_.post_move_processing();
38 Voice_group_registers::try_request(Request*r_l)
40 if (r_l->groupfeature()) {
41 dir_i_ = r_l->groupfeature()->stemdir_i_;
44 bool b = stem_beam_reg_.try_request(r_l);
46 b|= script_reg_.try_request(r_l);
48 b|= text_reg_.try_request(r_l);
54 Voice_group_registers::announce_element(Staff_elem_info i)
56 if (i.group_regs_l_!= this)
59 stem_beam_reg_.acknowledge_element(i);
60 script_reg_.acknowledge_element(i);
61 text_reg_.acknowledge_element(i);
66 Voice_group_registers::process_requests()
68 stem_beam_reg_.process_request();
70 stem_beam_reg_.set_dir (dir_i_);
72 script_reg_.process_request();
73 text_reg_.process_request();
78 Voice_group_registers::acceptable_request(Request*r)
80 return (r->stem() || r->beam() || r->text() || r->script() ||