]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/dynamic-align-engraver.cc
Issue 4865/2: Rewrite of new translator initializations
[lilypond.git] / lily / dynamic-align-engraver.cc
index 4a443dec5c7dfe1bb975e3d435c37e65c0cceb6d..29f35b4f6128014a4a683ba0c34177dc0f96625b 100644 (file)
@@ -64,11 +64,6 @@ Dynamic_align_engraver::Dynamic_align_engraver ()
   current_dynamic_spanner_ = 0;
 }
 
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, rhythmic_head);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, stem);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, footnote_spanner);
-ADD_END_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
 
 void
 Dynamic_align_engraver::create_line_spanner (Grob *cause)
@@ -80,7 +75,7 @@ Dynamic_align_engraver::create_line_spanner (Grob *cause)
 void
 Dynamic_align_engraver::acknowledge_end_dynamic (Grob_info info)
 {
-  if (Spanner::has_interface (info.grob ()))
+  if (has_interface<Spanner> (info.grob ()))
     ended_.push_back (info.spanner ());
 
   /* If the break flag is set, store the current spanner and let new dynamics
@@ -141,7 +136,7 @@ Dynamic_align_engraver::acknowledge_dynamic (Grob_info info)
     }
 
   create_line_spanner (info.grob ());
-  if (Spanner::has_interface (info.grob ()))
+  if (has_interface<Spanner> (info.grob ()))
     {
       started_.push_back (info.spanner ());
       current_dynamic_spanner_ = info.spanner ();
@@ -232,6 +227,16 @@ Dynamic_align_engraver::stop_translation_timestep ()
   support_.clear ();
 }
 
+void
+Dynamic_align_engraver::boot ()
+{
+  ADD_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
+  ADD_ACKNOWLEDGER (Dynamic_align_engraver, rhythmic_head);
+  ADD_ACKNOWLEDGER (Dynamic_align_engraver, stem);
+  ADD_ACKNOWLEDGER (Dynamic_align_engraver, footnote_spanner);
+  ADD_END_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
+}
+
 ADD_TRANSLATOR (Dynamic_align_engraver,
                 /* doc */
                 "Align hairpins and dynamic texts on a horizontal line.",