/*
script-engraver.cc -- implement Script_engraver
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "script.hh"
Link_array<Articulation_req> script_req_l_arr_;
public:
- VIRTUAL_COPY_CONS (Translator);
-
+ TRANSLATOR_DECLARATIONS(Script_engraver);
protected:
virtual bool try_music (Music*);
virtual void initialize ();
void
Script_engraver::acknowledge_grob (Grob_info inf)
{
- if (Stem::has_interface (inf.elem_l_))
+ if (Stem::has_interface (inf.grob_l_))
{
for (int i=0; i < script_p_arr_.size (); i++)
{
Grob*e = script_p_arr_[i];
- e->set_grob_property ("direction-source", inf.elem_l_->self_scm ());
- e->add_dependency (inf.elem_l_);
- Side_position_interface::add_support (e, inf.elem_l_);
+ e->set_grob_property ("direction-source", inf.grob_l_->self_scm ());
+ e->add_dependency (inf.grob_l_);
+ Side_position_interface::add_support (e, inf.grob_l_);
}
}
- else if (Rhythmic_head::has_interface (inf.elem_l_))
+ else if (Rhythmic_head::has_interface (inf.grob_l_))
{
for (int i=0; i < script_p_arr_.size (); i++)
{
Grob *e = script_p_arr_[i];
- if (!e->parent_l (X_AXIS))
+ if (!e->get_parent (X_AXIS))
{
- e->set_parent (inf.elem_l_, X_AXIS);
+ e->set_parent (inf.grob_l_, X_AXIS);
}
if (Side_position_interface::get_axis (e) == X_AXIS
- && !e->parent_l (Y_AXIS))
+ && !e->get_parent (Y_AXIS))
{
- e->set_parent (inf.elem_l_, Y_AXIS);
- e->add_dependency (inf.elem_l_); // ??
+ e->set_parent (inf.grob_l_, Y_AXIS);
+ e->add_dependency (inf.grob_l_); // ??
}
- Side_position_interface::add_support (e,inf.elem_l_);
+ Side_position_interface::add_support (e,inf.grob_l_);
}
}
}
script_req_l_arr_.clear ();
}
-ADD_THIS_TRANSLATOR (Script_engraver);
+Script_engraver::Script_engraver(){}
+
+ENTER_DESCRIPTION(Script_engraver,
+/* descr */ " Handles note ornaments generated by @code{\\script}.
+",
+/* creats*/ "Script",
+/* acks */ "stem-interface rhythmic-head-interface",
+/* reads */ "scriptDefinitions scriptHorizontal",
+/* write */ "");