X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fvaticana-ligature-engraver.cc;h=1785d4478b407b142b839c82f766e277d6f555ea;hb=8659a99f233f5c4684292728e7ad4206669b35b0;hp=f0e14849e8d58e79c509ede7bab10434c71547ca;hpb=f127e14af04f474d20406ca0e0f76f05061ee103;p=lilypond.git diff --git a/lily/vaticana-ligature-engraver.cc b/lily/vaticana-ligature-engraver.cc index f0e14849e8..1785d4478b 100644 --- a/lily/vaticana-ligature-engraver.cc +++ b/lily/vaticana-ligature-engraver.cc @@ -35,9 +35,6 @@ #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. @@ -80,30 +77,15 @@ private: public: TRANSLATOR_DECLARATIONS (Vaticana_ligature_engraver); - + TRANSLATOR_INHERIT (Gregorian_ligature_engraver); protected: virtual Spanner *create_ligature_spanner (); virtual void transform_heads (Spanner *ligature, vector const &primitives); - DECLARE_TRANSLATOR_LISTENER (pes_or_flexa); - 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) -{ - Ligature_engraver::listen_ligature (ev); -} - -Vaticana_ligature_engraver::Vaticana_ligature_engraver () +Vaticana_ligature_engraver::Vaticana_ligature_engraver (Context *c) + : Gregorian_ligature_engraver (c) { brew_ligature_primitive_proc = Vaticana_ligature::brew_ligature_primitive_proc; @@ -744,8 +726,15 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, #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"