/**
- Make arpeggios that span multiple staffs. Catch arpeggios, and span a
+ Make arpeggios that span multiple staves. Catch arpeggios, and span a
Span_arpeggio over them if we find more than two arpeggios.
*/
class Span_arpeggio_engraver : public Engraver
{
public:
- VIRTUAL_COPY_CONS (Translator);
- Span_arpeggio_engraver ();
-
+ TRANSLATOR_DECLARATIONS(Span_arpeggio_engraver);
+
protected:
virtual void acknowledge_grob (Grob_info);
virtual void create_grobs ();
Span_arpeggio_engraver::acknowledge_grob (Grob_info info)
{
if (info.origin_trans_l_arr (this).size ()
- && Arpeggio::has_interface (info.elem_l_))
+ && Arpeggio::has_interface (info.grob_l_))
{
- arpeggios_.push (info.elem_l_);
+ arpeggios_.push (info.grob_l_);
}
}
for (int i=0; i < arpeggios_.size (); i ++)
{
for (SCM s = arpeggios_[i]->get_grob_property ("stems");
- gh_pair_p (s); s = gh_cdr (s))
- Group_interface::add_thing (span_arpeggio_, "stems", gh_car (s));
+ gh_pair_p (s); s = ly_cdr (s))
+ Group_interface::add_thing (span_arpeggio_, "stems", ly_car (s));
for (SCM s = arpeggios_[i]->get_grob_property ("side-support-elements");
- gh_pair_p (s); s = gh_cdr (s))
- Group_interface::add_thing (span_arpeggio_, "side-support-elements", gh_car (s));
+ gh_pair_p (s); s = ly_cdr (s))
+ Group_interface::add_thing (span_arpeggio_, "side-support-elements", ly_car (s));
/*
we can't kill the children, since we don't want to the
arpeggios_.clear ();
}
-ADD_THIS_TRANSLATOR (Span_arpeggio_engraver);
+
+ENTER_DESCRIPTION(Span_arpeggio_engraver,
+/* descr */ "",
+/* creats*/ "Arpeggio",
+/* acks */ "arpeggio-interface",
+/* reads */ "connectArpeggios",
+/* write */ "");