X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ffigured-bass-engraver.cc;h=b2a79262bb64727f7b4421dfb54981032f01e278;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=a0998ef4c91ab61b5b6f5a562b4bec6d76bfef48;hpb=59a6d1a06432fc0ca88c3023c646182f389ec1b5;p=lilypond.git diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index a0998ef4c9..b2a79262bb 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -32,8 +32,6 @@ #include "translator.icc" -using std::vector; - struct Figure_group { Spanner *group_; @@ -124,8 +122,8 @@ protected: Moment stop_moment_; bool have_rest_; - DECLARE_TRANSLATOR_LISTENER (rest); - DECLARE_TRANSLATOR_LISTENER (bass_figure); + void listen_rest (Stream_event *); + void listen_bass_figure (Stream_event *); virtual void derived_mark () const; @@ -134,7 +132,8 @@ protected: void process_music (); }; -Figured_bass_engraver::Figured_bass_engraver () +Figured_bass_engraver::Figured_bass_engraver (Context *c) + : Engraver (c) { alignment_ = 0; continuation_ = false; @@ -182,20 +181,18 @@ Figured_bass_engraver::stop_translation_timestep () clear_spanners (); } -IMPLEMENT_TRANSLATOR_LISTENER (Figured_bass_engraver, rest); void Figured_bass_engraver::listen_rest (Stream_event *) { have_rest_ = true; } -IMPLEMENT_TRANSLATOR_LISTENER (Figured_bass_engraver, bass_figure); void Figured_bass_engraver::listen_bass_figure (Stream_event *ev) { new_event_found_ = true; Moment stop = now_mom () + get_event_length (ev, now_mom ()); - stop_moment_ = std::max (stop_moment_, stop); + stop_moment_ = max (stop_moment_, stop); // Handle no-continuation here, don't even add it to the already existing // spanner... This fixes some layout issues (figure will be placed separately) @@ -506,6 +503,13 @@ Figured_bass_engraver::add_brackets () } } +void +Figured_bass_engraver::boot () +{ + ADD_LISTENER (Figured_bass_engraver, rest); + ADD_LISTENER (Figured_bass_engraver, bass_figure); +} + ADD_TRANSLATOR (Figured_bass_engraver, /* doc */ "Make figured bass numbers.",