]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/midi-control-function-performer.cc
Web-es: update Community.
[lilypond.git] / lily / midi-control-function-performer.cc
index 4269baf7e26c97f1b9b26d3e80a34de98317c581..90ea063f736d1c3af3a884ba7cc5858506d1ff7e 100644 (file)
@@ -1,9 +1,9 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2013--2014 by Heikki Tauriainen <g034737@welho.com>.
+  Copyright (C) 2013--2015 by Heikki Tauriainen <g034737@welho.com>.
   Adapted from performer implementations
-  Copyright (C) 1996--2014 Jan Nieuwenhuizen <janneke@gnu.org>,
+  Copyright (C) 1996--2015 Jan Nieuwenhuizen <janneke@gnu.org>,
   Han-Wen Nienhyus <hanwen@xs4all.nl> and others.
 
   LilyPond is free software: you can redistribute it and/or modify
@@ -39,7 +39,7 @@ class Midi_control_function_performer : public Performer
 {
 public:
   TRANSLATOR_DECLARATIONS (Midi_control_function_performer);
-  DECLARE_LISTENER (announce_function_value_change);
+  void announce_function_value_change (SCM);
   ~Midi_control_function_performer ();
 
   void connect_to_context (Context *c);
@@ -58,7 +58,7 @@ void
 Midi_control_function_performer::connect_to_context (Context *c)
 {
   c->events_below ()->
-    add_listener (GET_LISTENER (announce_function_value_change),
+    add_listener (GET_LISTENER (Midi_control_function_performer, announce_function_value_change),
                   ly_symbol2scm ("SetProperty"));
 }
 
@@ -66,16 +66,14 @@ void
 Midi_control_function_performer::disconnect_from_context (Context *c)
 {
   c->events_below ()->
-    remove_listener (GET_LISTENER (announce_function_value_change),
+    remove_listener (GET_LISTENER (Midi_control_function_performer, announce_function_value_change),
                      ly_symbol2scm ("SetProperty"));
 }
 
-IMPLEMENT_LISTENER (Midi_control_function_performer,
-                    announce_function_value_change)
 void
 Midi_control_function_performer::announce_function_value_change (SCM sev)
 {
-  Stream_event *ev = Stream_event::unsmob (sev);
+  Stream_event *ev = unsmob<Stream_event> (sev);
   SCM sym = ev->get_property ("symbol");
   if (!scm_is_symbol (sym))
     return;
@@ -125,6 +123,7 @@ ADD_TRANSLATOR (Midi_control_function_performer,
                 /* read */
                 "midiBalance "
                 "midiPanPosition "
+                "midiExpression "
                 "midiReverbLevel "
                 "midiChorusLevel ",