source file of the GNU LilyPond music typesetter
- (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
class Arpeggio_engraver : public Engraver
{
public:
- VIRTUAL_COPY_CONS (Translator);
- Arpeggio_engraver ();
-
+ TRANSLATOR_DECLARATIONS(Arpeggio_engraver);
protected:
virtual void acknowledge_grob (Grob_info);
virtual void create_grobs ();
{
if (arpeggio_req_)
{
- if (Stem::has_interface (info.elem_l_))
+ if (Stem::has_interface (info.grob_l_))
{
- stems_.push (info.elem_l_);
+ stems_.push (info.grob_l_);
}
/*
We can't catch local key items (accidentals) from Voice context,
see Local_key_engraver
*/
- else if (Rhythmic_head::has_interface (info.elem_l_))
+ else if (Rhythmic_head::has_interface (info.grob_l_))
{
- supports_.push (info.elem_l_);
+ supports_.push (info.grob_l_);
}
}
}
for (int i = 0; i < stems_.size (); i++)
{
- Pointer_group_interface::add_element (arpeggio_, "stems", stems_[i]);
+ Pointer_group_interface::add_grob (arpeggio_, ly_symbol2scm ("stems"), stems_[i]);
}
for (int i = 0; i < supports_.size (); i++)
{
- Side_position::add_support (arpeggio_, supports_[i]);
+ Side_position_interface::add_support (arpeggio_, supports_[i]);
}
announce_grob (arpeggio_, arpeggio_req_);
}
}
-ADD_THIS_TRANSLATOR (Arpeggio_engraver);
+
+ENTER_DESCRIPTION(Arpeggio_engraver,
+/* descr */ "Generate an Arpeggio from a Arpeggio_req",
+/* creats*/ "Arpeggio",
+/* acks */ "stem-interface rhythmic-head-interface",
+/* reads */ "",
+/* write */ "");