X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fspacing-engraver.cc;h=00dc8227609b68fd2eb067d317399d1b678057b2;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=244a55b376e5fee3f4161d92d05d4ef502ed0705;hpb=f127e14af04f474d20406ca0e0f76f05061ee103;p=lilypond.git diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index 244a55b376..00dc822760 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -29,8 +29,6 @@ #include "translator.icc" -using std::vector; - struct Rhythmic_tuple { Grob_info info_; @@ -78,11 +76,11 @@ class Spacing_engraver : public Engraver TRANSLATOR_DECLARATIONS (Spacing_engraver); protected: - DECLARE_ACKNOWLEDGER (staff_spacing); - DECLARE_ACKNOWLEDGER (note_spacing); - DECLARE_ACKNOWLEDGER (rhythmic_head); - DECLARE_ACKNOWLEDGER (rhythmic_grob); - DECLARE_TRANSLATOR_LISTENER (spacing_section); + void acknowledge_staff_spacing (Grob_info); + void acknowledge_note_spacing (Grob_info); + void acknowledge_rhythmic_head (Grob_info); + void acknowledge_rhythmic_grob (Grob_info); + void listen_spacing_section (Stream_event *); void start_translation_timestep (); void stop_translation_timestep (); @@ -95,13 +93,13 @@ protected: void stop_spanner (); }; -Spacing_engraver::Spacing_engraver () +Spacing_engraver::Spacing_engraver (Context *c) + : Engraver (c) { spacing_ = 0; start_section_ = 0; } -IMPLEMENT_TRANSLATOR_LISTENER (Spacing_engraver, spacing_section); void Spacing_engraver::listen_spacing_section (Stream_event *ev) { @@ -263,10 +261,16 @@ Spacing_engraver::start_translation_timestep () stopped_durations_.push_back (playing_durations_.get ()); } -ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing); -ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing); -ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head); -ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob); + +void +Spacing_engraver::boot () +{ + ADD_LISTENER (Spacing_engraver, spacing_section); + ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing); + ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing); + ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head); + ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob); +} ADD_TRANSLATOR (Spacing_engraver, /* doc */