X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fchord-name-engraver.cc;h=3d989ccfb14de07ee33cf981f0e5e67ed338a3cb;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=db8493e2a5a6648478caf455e780dc104d15c65f;hpb=24107d843c902a8101fbb696f47bf7538dd4493a;p=lilypond.git diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index db8493e2a5..3d989ccfb1 100644 --- a/lily/chord-name-engraver.cc +++ b/lily/chord-name-engraver.cc @@ -39,8 +39,8 @@ protected: void stop_translation_timestep (); void process_music (); virtual void finalize (); - DECLARE_TRANSLATOR_LISTENER (note); - DECLARE_TRANSLATOR_LISTENER (rest); + void listen_note (Stream_event *); + void listen_rest (Stream_event *); private: vector notes_; @@ -52,7 +52,8 @@ Chord_name_engraver::finalize () { } -Chord_name_engraver::Chord_name_engraver () +Chord_name_engraver::Chord_name_engraver (Context *c) + : Engraver (c) { rest_event_ = 0; } @@ -143,14 +144,12 @@ Chord_name_engraver::process_music () context ()->set_property ("lastChord", markup); } -IMPLEMENT_TRANSLATOR_LISTENER (Chord_name_engraver, note); void Chord_name_engraver::listen_note (Stream_event *ev) { notes_.push_back (ev); } -IMPLEMENT_TRANSLATOR_LISTENER (Chord_name_engraver, rest); void Chord_name_engraver::listen_rest (Stream_event *ev) { @@ -168,6 +167,13 @@ Chord_name_engraver::stop_translation_timestep () The READs description is not strictly accurate: which properties are read depend on the chord naming function active. */ +void +Chord_name_engraver::boot () +{ + ADD_LISTENER (Chord_name_engraver, note); + ADD_LISTENER (Chord_name_engraver, rest); +} + ADD_TRANSLATOR (Chord_name_engraver, /* doc */ "Catch note and rest events and generate the appropriate chordname.",