2 bar-reg.cc -- implement Bar_register
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
11 #include "commandrequest.hh"
12 #include "score-column.hh"
13 #include "time-description.hh"
15 Bar_register::Bar_register()
17 post_move_processing();
21 Bar_register::try_request(Request
*r_l
)
23 Command_req
* c_l
= r_l
->command();
24 if (!c_l
|| !c_l
->bar())
28 bar_req_l_
= c_l
->bar();
34 Bar_register::process_requests()
37 bar_p_
= new Bar(bar_req_l_
->type_str_
);
38 } else if (!get_staff_info().time_c_l_
->whole_in_measure_
) {
39 bar_p_
= new Bar("|");
43 announce_element(Staff_elem_info(bar_p_
, bar_req_l_
) );
48 Bar_register::split_bar(Bar
*& pre
, Bar
* no
, Bar
* &post
)
62 Bar_register::pre_move_processing()
67 split_bar(pre_p
, bar_p_
, post_p
);
69 typeset_breakable_item(pre_p
, bar_p_
, post_p
);
75 Bar_register::post_move_processing()