OSC: /cue/enable feedback not changing fixed
authorLen Ovens <len@ovenwerks.net>
Mon, 21 Aug 2017 19:09:48 +0000 (12:09 -0700)
committerLen Ovens <len@ovenwerks.net>
Mon, 21 Aug 2017 19:10:27 +0000 (12:10 -0700)
libs/surfaces/osc/osc.cc
libs/surfaces/osc/osc_cue_observer.cc
libs/surfaces/osc/osc_cue_observer.h

index 6bde293aeb039d409df144882a4d0448ceca533d..e581876216115b414ad15053fe4fa4ba253317c8 100644 (file)
@@ -5096,23 +5096,23 @@ OSC::cue_parse (const char *path, const char* types, lo_arg **argv, int argc, lo
 
        if (!strncmp (path, "/cue/aux", 8)) {
                // set our Aux bus
-               ret = cue_set (argv[0]->i, msg);
+               ret = cue_set (argv[0]->f, msg);
        }
        else if (!strncmp (path, "/cue/connect", 12)) {
                // Connect to default Aux bus
-               if ((!argc) || argv[0]->i) {
+               if ((!argc) || argv[0]->f) {
                        ret = cue_set (1, msg);
                }
        }
        else if (!strncmp (path, "/cue/next_aux", 13)) {
                // switch to next Aux bus
-               if ((!argc) || argv[0]->i) {
+               if ((!argc) || argv[0]->f) {
                        ret = cue_next (msg);
                }
        }
        else if (!strncmp (path, "/cue/previous_aux", 17)) {
                // switch to previous Aux bus
-               if ((!argc) || argv[0]->i) {
+               if ((!argc) || argv[0]->f) {
                        ret = cue_previous (msg);
                }
        }
index b23733f04e2ead01365d60105c7046088a0338aa..c1eed2921e3daf7424e47dc04db49b234568f1c7 100644 (file)
@@ -139,8 +139,8 @@ OSCCueObserver::send_init()
                        }
                        
                        boost::shared_ptr<Processor> proc = boost::dynamic_pointer_cast<Processor> (send);
-                               proc->ActiveChanged.connect (send_connections, MISSING_INVALIDATOR, boost::bind (&OSCCueObserver::send_enabled_message, this, X_("/cue/send/enable"), i + 1, proc->enabled()), OSC::instance());
-                               send_enabled_message (X_("/cue/send/enable"), i + 1, proc->enabled());
+                               proc->ActiveChanged.connect (send_connections, MISSING_INVALIDATOR, boost::bind (&OSCCueObserver::send_enabled_message, this, X_("/cue/send/enable"), i + 1, proc), OSC::instance());
+                               send_enabled_message (X_("/cue/send/enable"), i + 1, proc);
                }
        }
 
@@ -239,14 +239,14 @@ OSCCueObserver::send_gain_message (uint32_t id,  boost::shared_ptr<Controllable>
 }
 
 void
-OSCCueObserver::send_enabled_message (std::string path, uint32_t id, bool enabled)
+OSCCueObserver::send_enabled_message (std::string path, uint32_t id, boost::shared_ptr<ARDOUR::Processor> proc)
 {
        lo_message msg = lo_message_new ();
 
        if (id) {
                path = string_compose("%1/%2", path, id);
        }
-       lo_message_add_float (msg, (float) enabled);
+       lo_message_add_float (msg, (float) proc->enabled());
 
        lo_send_message (addr, path.c_str(), msg);
        lo_message_free (msg);
index fe318c9d916418f434687c0d556bfff1b5029538..eb669ee167666d6d96d703d4c1a1a63143a41588 100644 (file)
@@ -60,7 +60,7 @@ class OSCCueObserver
        void send_change_message (std::string path, uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
        void text_with_id (std::string path, uint32_t id, std::string val);
        void send_gain_message (uint32_t id, boost::shared_ptr<PBD::Controllable> controllable);
-       void send_enabled_message (std::string path, uint32_t id, bool enabled);
+       void send_enabled_message (std::string path, uint32_t id, boost::shared_ptr<ARDOUR::Processor> proc);
        void clear_strip (std::string path, float val);
        void send_init (void);
        void send_end (void);