2 voicegroup.cc -- implement Voice_group_registers
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
8 #include "music-list.hh"
11 #include "musical-request.hh"
12 #include "voice-regs.hh"
13 #include "voice-group-regs.hh"
14 #include "register.hh"
15 #include "command-request.hh"
17 #include "input-register.hh"
18 #include "time-description.hh"
21 Voice_group_registers::Voice_group_registers()
24 termination_mom_ = INFTY;
28 Voice_group_registers::do_try_request(Request*r_l)
30 Command_req* c_l = r_l->command();
31 if (c_l&& c_l->groupfeature()) {
33 f.type_ = c_l->groupfeature()->type_str_;
34 f.value_ = c_l->groupfeature()->value_str_;
38 return Register_group_register::do_try_request(r_l);
42 IMPLEMENT_STATIC_NAME(Voice_group_registers);
43 IMPLEMENT_IS_TYPE_B1(Voice_group_registers,Register_group_register);
46 Voice_group_registers::do_print() const
49 Register_group_register::do_print();
54 Voice_group_registers::do_post_move_processing()
56 if ( get_staff_info().time_C_ ->when_ > termination_mom_ ){
57 mtor << "Terminating voice_group\n";
58 daddy_reg_l_->terminate_register(this);
61 Register_group_register::do_post_move_processing();
67 Voice_group_registers::get_feature(String f)
71 Register_group_register::get_feature(f);
74 ADD_THIS_REGISTER(Voice_group_registers);