#include "lookup.hh"
#include "paper-def.hh"
#include "score-column.hh"
+#include "staff-sym.hh"
Dynamic_register::Dynamic_register()
{
assert (!dynamic_p_) ; // TODO
- dynamic_p_ = new Text_item(td_p, 10 ); // TODO!
+ dynamic_p_ = new Text_item(td_p);
announce_element(Staff_elem_info(dynamic_p_, dreq_l));
} else if (dreq_l->span_dynamic()) {
} else if (span_l->spantype == Span_req::START) {
cresc_req_l_ = span_l;
assert(!new_cresc_p);
- new_cresc_p = new Crescendo(10);
+ new_cresc_p = new Crescendo;
new_cresc_p->grow_dir_i_ = span_l->dynamic_dir_i_;
announce_element(Staff_elem_info(new_cresc_p, span_l));
}
void
Dynamic_register::pre_move_processing()
{
+ Staff_symbol* s_l = get_staff_info().staff_sym_l_;
if (dynamic_p_) {
+ dynamic_p_->set_staffsym(s_l);
typeset_element(dynamic_p_);
dynamic_p_ = 0;
}
to_end_cresc_p_->right_dyn_b_=true;
to_end_cresc_p_->right_col_l_ = get_staff_info().musical_l()->pcol_l_;
-
+ to_end_cresc_p_->set_staffsym(s_l);
typeset_element(to_end_cresc_p_);
to_end_cresc_p_ = 0;
}
#include "register.hh"
-struct Dynamic_register : Request_register {
+class Dynamic_register : public Request_register {
int dir_i_;
Text_item * dynamic_p_;
Crescendo * to_end_cresc_p_;
Span_dynamic_req * cresc_req_l_;
Array<Dynamic_req*> dynamic_req_l_arr_;
/* ************** */
+public:
Dynamic_register();
~Dynamic_register();
+ NAME_MEMBERS(Dynamic_register);
+protected:
virtual bool try_request(Request *req_l);
virtual void process_requests();
virtual void pre_move_processing();
virtual void post_move_processing();
virtual bool acceptable_request_b(Request*) const;
virtual void set_feature(Features);
- NAME_MEMBERS(Dynamic_register);
};
#endif // DYNAMIC_REG_HH
struct Staff_info {
int *c0_position_i_l_;
Staff_walker *walk_l_;
-
+ Staff_symbol*staff_sym_l_;
/// when is now?
Time_description const *time_C_;
void
Text_register::process_requests()
{
-
if (text_req_l_) {
- text_p_ = new Text_item(text_req_l_, 10); // UGH
+ text_p_ = new Text_item(text_req_l_); // UGH
announce_element(Staff_elem_info(text_p_, text_req_l_));
}
}
{
if (text_p_) {
text_p_->dir_i_ = dir_i_;
+ Staff_symbol* s_l = get_staff_info().staff_sym_l_;
+ text_p_->set_staffsym(s_l);
typeset_element(text_p_);
+
text_p_ = 0;
}
}