OSC: Blank some more feedback values when select observer is destroyed.
authorLen Ovens <len@ovenwerks.net>
Thu, 16 Jun 2016 23:07:09 +0000 (16:07 -0700)
committerLen Ovens <len@ovenwerks.net>
Thu, 16 Jun 2016 23:07:09 +0000 (16:07 -0700)
libs/surfaces/osc/osc.cc
libs/surfaces/osc/osc_select_observer.cc

index 80b79c9be2d06a8824133a1e51dce2649837a0c3..948e73652dcb53746c933cab4ff66e98f0c15dec 100644 (file)
@@ -2393,7 +2393,7 @@ OSC::periodic (void)
                        recalcbanks ();
                }
        }
-       
+
        for (GlobalObservers::iterator x = global_observers.begin(); x != global_observers.end(); x++) {
 
                OSCGlobalObserver* go;
index 8836de37922883e200b4dd98258c24a63683f6af..c152630aed2956aa42377dd9b11dcee48ef92702 100644 (file)
@@ -133,9 +133,12 @@ OSCSelectObserver::~OSCSelectObserver ()
        if (feedback[0]) { // buttons are separate feedback
                lo_message msg = lo_message_new ();
                // name is a string do it first
-               string path = "/select/name";
                lo_message_add_string (msg, " ");
-               lo_send_message (addr, path.c_str(), msg);
+               lo_send_message (addr, "/select/name", msg);
+               lo_message_free (msg);
+               msg = lo_message_new ();
+               lo_message_add_string (msg, " ");
+               lo_send_message (addr, "/select/comment", msg);
                lo_message_free (msg);
                clear_strip ("/select/mute", 0);
                clear_strip ("/select/solo", 0);
@@ -144,6 +147,8 @@ OSCSelectObserver::~OSCSelectObserver ()
                clear_strip ("/select/monitor_input", 0);
                clear_strip ("/select/monitor_disk", 0);
                clear_strip ("/select/polarity", 0);
+               clear_strip ("/select/n_inputs", 0);
+               clear_strip ("/select/n_outputs", 0);
        }
        if (feedback[1]) { // level controls
                if (gainmode) {