Script_engraver();
protected:
virtual bool do_try_music (Music*);
- virtual void do_process_requests ();
+ virtual void do_process_music ();
virtual void do_pre_move_processing ();
virtual void do_post_move_processing ();
virtual void acknowledge_element (Score_element_info);
}
void
-Script_engraver::do_process_requests()
+Script_engraver::do_process_music()
{
for (int i=0; i < script_req_l_arr_.size(); i++)
{
Articulation_req* l=script_req_l_arr_[i];
- SCM list = ly_eval_str (("(articulation-to-scriptdef \"" + l->articulation_str_ + "\")").ch_C());
+ SCM list = scm_eval (gh_list (ly_symbol2scm ("articulation-to-scriptdef"),
+ ly_str02scm (l->articulation_str_.ch_C()),
+ SCM_UNDEFINED));
if (list == SCM_BOOL_F)
{
l->articulation_str_.ch_C ()));
continue;
}
- Script *p =new Script;
+ // todo -> use result of articulation-to-scriptdef directly as basic prop list.
+ Script *p =new Script (get_property ("basicScriptProperties"));
Side_position_interface stafy (p);
if (l->get_direction ())
stafy.set_direction (l->get_direction ());
- SCM axisprop = get_property ("scriptHorizontal",0);
+ SCM axisprop = get_property ("scriptHorizontal");
bool xaxis = to_boolean (axisprop);
if (xaxis)
stafy.set_axis (X_AXIS);
Script_engraver::acknowledge_element (Score_element_info inf)
{
bool them_grace = to_boolean (inf.elem_l_->get_elt_property ("grace"));
- bool us_grace = to_boolean (get_property ("weAreGraceContext",0));
+ bool us_grace = to_boolean (get_property ("weAreGraceContext"));
if (us_grace != them_grace)
return;
{
for (int i=0; i < script_p_arr_.size(); i++)
{
- if (to_boolean (script_p_arr_[i]->remove_elt_property ("staff-support")))
- side_position (script_p_arr_[i]).add_staff_support ();
- typeset_element (script_p_arr_[i]);
+ Script * sc = script_p_arr_[i];
+ if (to_boolean (sc->remove_elt_property ("staff-support")))
+ {
+ Side_position_interface (sc).add_staff_support ();
+ }
+ typeset_element (sc);
}
script_p_arr_.clear();
}