]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/piano-pedal-performer.cc
Issue 5043/1: Implement ly:stencil-outline separating ink/metrics
[lilypond.git] / lily / piano-pedal-performer.cc
index e7df2c233a5e93d2838c01970067b82bf28cd73b..a8273980e924d61ca558444ec949475102b6c536 100644 (file)
@@ -26,9 +26,6 @@
 
 #include "translator.icc"
 
-using std::string;
-using std::vector;
-
 enum Pedal_type {SOSTENUTO, SUSTAIN, UNA_CORDA, NUM_PEDAL_TYPES};
 
 /**
@@ -51,9 +48,9 @@ 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<Audio_piano_pedal *> audios_;
   Pedal_info info_alist_[NUM_PEDAL_TYPES];
@@ -149,7 +146,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 +153,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 +160,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 +167,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 */
                 "",