#include "pitch.hh"
#include "translator.icc"
-using std::string;
-using std::vector;
-
/*
* This class implements the notation specific aspects of Vaticana
* style ligatures for Gregorian chant notation.
public:
TRANSLATOR_DECLARATIONS (Vaticana_ligature_engraver);
-
+ TRANSLATOR_INHERIT (Gregorian_ligature_engraver)
protected:
virtual Spanner *create_ligature_spanner ();
virtual void transform_heads (Spanner *ligature,
DECLARE_TRANSLATOR_LISTENER (ligature);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Vaticana_ligature_engraver, pes_or_flexa);
void
Vaticana_ligature_engraver::listen_pes_or_flexa (Stream_event *ev)
{
Gregorian_ligature_engraver::listen_pes_or_flexa (ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Vaticana_ligature_engraver, ligature);
void
Vaticana_ligature_engraver::listen_ligature (Stream_event *ev)
{
add_mora_column (prev_primitive->get_column ());
#if 0 // experimental code to collapse spacing after ligature
- /* TODO: set to std::max (old/new spacing-increment), since other
+ /* TODO: set to max (old/new spacing-increment), since other
voices/staves also may want to set this property. */
Item *first_primitive = dynamic_cast<Item *> (primitives[0].grob ());
Paper_column *paper_column = first_primitive->get_column ();
#endif
}
-ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
-ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, ligature_head);
+void
+Vaticana_ligature_engraver::boot ()
+{
+ ADD_LISTENER (Vaticana_ligature_engraver, pes_or_flexa);
+ ADD_LISTENER (Vaticana_ligature_engraver, ligature);
+ ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, rest);
+ ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, ligature_head);
+}
+
ADD_TRANSLATOR (Vaticana_ligature_engraver,
/* doc */
"Handle ligatures by glueing special ligature heads"