X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdynamic-align-engraver.cc;h=c276e217593e7b209e1cce5f47b15a8610dd8e1b;hb=f869d8f6ebe878618588036e17971166721de9e0;hp=df5c24cb330afd78c3632f8489a9ad096e3255ff;hpb=c054eb280fd9953596eb164f67b0f9d5555c5a32;p=lilypond.git diff --git a/lily/dynamic-align-engraver.cc b/lily/dynamic-align-engraver.cc index df5c24cb33..c276e21759 100644 --- a/lily/dynamic-align-engraver.cc +++ b/lily/dynamic-align-engraver.cc @@ -34,11 +34,11 @@ class Dynamic_align_engraver : public Engraver { TRANSLATOR_DECLARATIONS (Dynamic_align_engraver); - DECLARE_ACKNOWLEDGER (rhythmic_head); - DECLARE_ACKNOWLEDGER (stem); - DECLARE_ACKNOWLEDGER (dynamic); - DECLARE_ACKNOWLEDGER (footnote_spanner); - DECLARE_END_ACKNOWLEDGER (dynamic); + void acknowledge_rhythmic_head (Grob_info); + void acknowledge_stem (Grob_info); + void acknowledge_dynamic (Grob_info); + void acknowledge_footnote_spanner (Grob_info); + void acknowledge_end_dynamic (Grob_info); protected: virtual void stop_translation_timestep (); @@ -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 (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 (info.grob ())) { started_.push_back (info.spanner ()); current_dynamic_spanner_ = info.spanner (); @@ -181,7 +176,7 @@ Dynamic_align_engraver::set_spanner_bounds (Spanner *line, bool end) bound = spanners[0]->get_bound (d); else { - bound = Grob::unsmob (get_property ("currentMusicalColumn")); + bound = unsmob (get_property ("currentMusicalColumn")); programming_error ("started DynamicLineSpanner but have no left bound"); } @@ -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.",