]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/key-performer.cc
release: 0.1.13
[lilypond.git] / lily / key-performer.cc
index 5e620ff7c98666607bd2ae152d28d21927d9dba0..bca4c5c106e8fd59f48e914a7b17ce632a76b82a 100644 (file)
@@ -8,16 +8,16 @@
 
 #include "key-performer.hh"
 #include "command-request.hh"
-#include "midi-item.hh"
+#include "audio-item.hh"
 
 
 
 IMPLEMENT_IS_TYPE_B1(Key_performer,Performer);
-ADD_THIS_PERFORMER(Key_performer);
+ADD_THIS_TRANSLATOR(Key_performer);
 
 Key_performer::Key_performer()
 {
-    key_req_l_ = 0;
+  key_req_l_ = 0;
 }
 
 Key_performer::~Key_performer()
@@ -28,38 +28,31 @@ void
 Key_performer::do_print() const
 {
 #ifndef NPRINT
-    if ( key_req_l_ )
-       key_req_l_->print();
+  if (key_req_l_)
+       key_req_l_->print();
 #endif
 }
 
 void
-Key_performer::process_requests()
+Key_performer::do_process_requests()
 {
-    if ( key_req_l_ ) {
-       int sharps_i = key_req_l_->sharps_i();
-       int flats_i = key_req_l_->flats_i();
-       // midi cannot handle non-conventional keys
-       if ( !( flats_i && sharps_i ) ) {
-           Midi_key k( sharps_i - flats_i, key_req_l_->minor_b() );
-           play_event( &k );
-       }
-       key_req_l_ = 0;
-    }
+  if (key_req_l_)
+       play (new Audio_key (key_req_l_));
+  key_req_l_ = 0;
 }
 
 bool
-Key_performer::do_try_request( Request* req_l )
+Key_performer::do_try_request (Request* req_l)
 {
-    if ( key_req_l_ )
+  if (key_req_l_)
        return false;
 
-    if ( req_l->command() )
-       key_req_l_ = req_l->command()->keychange();
+  if (req_l->command())
+       key_req_l_ = req_l->command()->keychange ();
 
-    if ( key_req_l_ )
+  if (key_req_l_)
        return true;
 
-    return false;
+  return false;
 }