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 "command-request.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())
26 Bar_req
* b
= c_l
->bar();
27 if (bar_req_l_
&& bar_req_l_
->compare(*b
))
36 Bar_register::process_requests()
39 bar_p_
= new Bar(bar_req_l_
->type_str_
);
40 } else if (!get_staff_info().time_C_
->whole_in_measure_
) {
41 bar_p_
= new Bar("|");
45 announce_element(Staff_elem_info(bar_p_
, bar_req_l_
) );
52 Bar_register::split_bar(Bar
*& pre
, Bar
* no
, Bar
* &post
)
66 Bar_register::pre_move_processing()
71 split_bar(pre_p
, bar_p_
, post_p
);
73 typeset_breakable_item(pre_p
, bar_p_
, post_p
);
79 Bar_register::post_move_processing()
85 IMPLEMENT_STATIC_NAME(Bar_register
);
86 ADD_THIS_REGISTER(Bar_register
);