X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpiano-pedal-performer.cc;h=4a24625e04b8160a8def7bccd35e796985b64c53;hb=8e2eaf4959bec63a1128a444591a540f4f1e2937;hp=e7df2c233a5e93d2838c01970067b82bf28cd73b;hpb=1de3d397c18622b6061402fef18e625701712bc5;p=lilypond.git diff --git a/lily/piano-pedal-performer.cc b/lily/piano-pedal-performer.cc index e7df2c233a..4a24625e04 100644 --- a/lily/piano-pedal-performer.cc +++ b/lily/piano-pedal-performer.cc @@ -26,9 +26,6 @@ #include "translator.icc" -using std::string; -using std::vector; - enum Pedal_type {SOSTENUTO, SUSTAIN, UNA_CORDA, NUM_PEDAL_TYPES}; /** @@ -51,15 +48,16 @@ protected: void process_music (); void stop_translation_timestep (); void start_translation_timestep (); - DECLARE_TRANSLATOR_LISTENER (sustain); - DECLARE_TRANSLATOR_LISTENER (una_corda); - DECLARE_TRANSLATOR_LISTENER (sostenuto); + void listen_sustain (Stream_event *); + void listen_una_corda (Stream_event *); + void listen_sostenuto (Stream_event *); private: vector audios_; Pedal_info info_alist_[NUM_PEDAL_TYPES]; }; -Piano_pedal_performer::Piano_pedal_performer () +Piano_pedal_performer::Piano_pedal_performer (Context *c) + : Performer (c) { } @@ -149,7 +147,6 @@ Piano_pedal_performer::start_translation_timestep () } } -IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, sostenuto); void Piano_pedal_performer::listen_sostenuto (Stream_event *r) { @@ -157,7 +154,6 @@ Piano_pedal_performer::listen_sostenuto (Stream_event *r) info_alist_[SOSTENUTO].event_drul_[d] = r; } -IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, sustain); void Piano_pedal_performer::listen_sustain (Stream_event *r) { @@ -165,7 +161,6 @@ Piano_pedal_performer::listen_sustain (Stream_event *r) info_alist_[SUSTAIN].event_drul_[d] = r; } -IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, una_corda); void Piano_pedal_performer::listen_una_corda (Stream_event *r) { @@ -173,6 +168,14 @@ Piano_pedal_performer::listen_una_corda (Stream_event *r) info_alist_[UNA_CORDA].event_drul_[d] = r; } +void +Piano_pedal_performer::boot () +{ + ADD_LISTENER (Piano_pedal_performer, sostenuto); + ADD_LISTENER (Piano_pedal_performer, sustain); + ADD_LISTENER (Piano_pedal_performer, una_corda); +} + ADD_TRANSLATOR (Piano_pedal_performer, /* doc */ "",