2 bar-reg.cc -- implement Bar_register
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
11 #include "command-request.hh"
12 #include "time-description.hh"
14 Bar_register::Bar_register()
16 post_move_processing();
20 Bar_register::try_request(Request*r_l)
22 Command_req* c_l = r_l->command();
23 if (!c_l|| !c_l->bar())
25 Bar_req * b= c_l->bar();
26 if (bar_req_l_ && bar_req_l_->compare(*b))
35 Bar_register::process_requests()
38 bar_p_ = new Bar(bar_req_l_->type_str_);
39 } else if (!get_staff_info().time_C_->whole_in_measure_) {
40 bar_p_ = new Bar("|");
44 announce_element(Score_elem_info(bar_p_, bar_req_l_) );
51 Bar_register::split_bar(Bar *& pre, Bar * no, Bar * &post)
65 Bar_register::pre_move_processing()
70 split_bar(pre_p, bar_p_, post_p);
72 typeset_breakable_item(pre_p, bar_p_, post_p);
78 Bar_register::post_move_processing()
84 IMPLEMENT_STATIC_NAME(Bar_register);
85 ADD_THIS_REGISTER(Bar_register);