2 meter-reg.cc -- implement Meter_register
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
9 #include "meter-reg.hh"
11 #include "command-request.hh"
13 Meter_register::Meter_register()
15 post_move_processing();
19 Meter_register::try_request(Request*r_l)
21 Command_req* creq_l= r_l->command();
22 if (!creq_l || !creq_l->meterchange())
24 Meter_change_req *m = creq_l->meterchange();
25 if (meter_req_l_ && meter_req_l_->compare(*m))
33 Meter_register::process_requests()
37 args.push(meter_req_l_->beats_i_);
38 args.push(meter_req_l_->one_beat_i_);
40 meter_p_ = new Meter(args);
44 announce_element(Score_elem_info(meter_p_, meter_req_l_) );
48 Meter_register::pre_move_processing()
51 Meter * post_p =new Meter(*meter_p_);
52 Meter * pre_p =new Meter(*meter_p_);
54 typeset_breakable_item(pre_p, meter_p_, post_p);
60 Meter_register::post_move_processing()
65 IMPLEMENT_STATIC_NAME(Meter_register);
66 ADD_THIS_REGISTER(Meter_register);