]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/tie-performer.cc
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / tie-performer.cc
index ba7954e995724678d1cf62e55053bc7aac9dead0..1f95023eb6ab0962146dd13b54ce07f08b665717 100644 (file)
@@ -51,17 +51,17 @@ protected:
   void start_translation_timestep ();
   virtual void acknowledge_audio_element (Audio_element_info);
   void process_music ();
-  DECLARE_TRANSLATOR_LISTENER (tie);
+  void listen_tie (Stream_event *);
 public:
   TRANSLATOR_DECLARATIONS (Tie_performer);
 };
 
-Tie_performer::Tie_performer ()
+Tie_performer::Tie_performer (Context *c)
+  : Performer (c)
 {
   event_ = 0;
 }
 
-IMPLEMENT_TRANSLATOR_LISTENER (Tie_performer, tie);
 void
 Tie_performer::listen_tie (Stream_event *ev)
 {
@@ -128,8 +128,8 @@ Tie_performer::acknowledge_audio_element (Audio_element_info inf)
 
           SCM p1 = left_mus->get_property ("pitch");
           SCM p2 = right_mus->get_property ("pitch");
-          if (Pitch::is_smob (p1) && Pitch::is_smob (p2)
-              && Pitch::unsmob (p1)->tone_pitch () == Pitch::unsmob (p2)->tone_pitch ())
+          if (unsmob<Pitch> (p1) && unsmob<Pitch> (p2)
+              && unsmob<Pitch> (p1)->tone_pitch () == unsmob<Pitch> (p2)->tone_pitch ())
             {
               found = true;
               // (*it).moment_ already stores the end of the tied note!
@@ -184,6 +184,12 @@ Tie_performer::stop_translation_timestep ()
   now_tied_heads_.clear ();
 }
 
+void
+Tie_performer::boot ()
+{
+  ADD_LISTENER (Tie_performer, tie);
+}
+
 ADD_TRANSLATOR (Tie_performer,
                 /* doc */
                 "Generate ties between note heads of equal pitch.",