]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/key-performer.cc
lilypond-manuals.css: edit color scheme and some spacing
[lilypond.git] / lily / key-performer.cc
index fa76c883a47989f98e01c5778c386040ea451125..5de378eda49832c11a8366d155044b23373912ac 100644 (file)
@@ -22,6 +22,7 @@
 #include "performer.hh"
 #include "stream-event.hh"
 #include "warn.hh"
+#include "lily-imports.hh"
 
 #include "translator.icc"
 
@@ -35,13 +36,14 @@ protected:
   void process_music ();
   void stop_translation_timestep ();
 
-  DECLARE_TRANSLATOR_LISTENER (key_change);
+  void listen_key_change (Stream_event *);
 private:
   Stream_event *key_ev_;
   Audio_key *audio_;
 };
 
-Key_performer::Key_performer ()
+Key_performer::Key_performer (Context *c)
+  : Performer (c)
 {
   key_ev_ = 0;
   audio_ = 0;
@@ -57,9 +59,8 @@ Key_performer::process_music ()
   if (key_ev_)
     {
       SCM pitchlist = key_ev_->get_property ("pitch-alist");
-      SCM proc = ly_lily_module_constant ("alterations-in-key");
 
-      SCM acc = scm_call_1 (proc, pitchlist);
+      SCM acc = Lily::alterations_in_key (pitchlist);
 
       Pitch key_do (0,
                     scm_to_int (scm_caar (pitchlist)),
@@ -98,7 +99,6 @@ Key_performer::stop_translation_timestep ()
     }
 }
 
-IMPLEMENT_TRANSLATOR_LISTENER (Key_performer, key_change);
 void
 Key_performer::listen_key_change (Stream_event *ev)
 {
@@ -106,6 +106,12 @@ Key_performer::listen_key_change (Stream_event *ev)
     key_ev_ = ev;
 }
 
+void
+Key_performer::boot ()
+{
+  ADD_LISTENER (Key_performer, key_change);
+}
+
 ADD_TRANSLATOR (Key_performer,
                 /* doc */
                 "",