X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fvaticana-ligature-engraver.cc;h=1785d4478b407b142b839c82f766e277d6f555ea;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=36959d0518b28f59c8a8d833a0a2be24ce4ec441;hpb=59a6d1a06432fc0ca88c3023c646182f389ec1b5;p=lilypond.git diff --git a/lily/vaticana-ligature-engraver.cc b/lily/vaticana-ligature-engraver.cc index 36959d0518..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; @@ -732,7 +714,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, 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 (primitives[0].grob ()); Paper_column *paper_column = first_primitive->get_column (); @@ -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"