]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/vaticana-ligature-engraver.cc
Release: bump Welcome versions.
[lilypond.git] / lily / vaticana-ligature-engraver.cc
index 36959d0518b28f59c8a8d833a0a2be24ce4ec441..1785d4478b407b142b839c82f766e277d6f555ea 100644 (file)
@@ -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<Grob_info> 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<Item *> (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"