diff options
author | Len Ovens <len@ovenwerks.net> | 2017-11-12 13:52:18 -0800 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-11-13 17:19:09 -0800 |
commit | 2d85eceb0e4d664fee508e50b7f0563323db4591 (patch) | |
tree | a51117304be5d2fde4506fe4c3cbb247a432e4c8 /libs | |
parent | 1a5887865c6e9811faf87aadcfea1336e1eb9006 (diff) |
OSC: cue buttons can accept float or int
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index a7af9c1b10..9bb4b275f2 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -5291,17 +5291,19 @@ OSC::cue_parse (const char *path, const char* types, lo_arg **argv, int argc, lo OSCSurface *s = get_surface(get_address (msg), true); s->bank_size = 0; float value = 0; + if (argc == 1) { + if (types[0] == 'f') { + value = argv[0]->f; + } else if (types[0] == 'i') { + value = (float) argv[0]->i; + } + } int ret = 1; /* unhandled */ if (!strncmp (path, "/cue/aux", 8)) { // set our Aux bus if (argc) { - if (types[0] == 'f') { - value = argv[0]->f; - } else if (types[0] == 'i') { - value = (float) argv[0]->i; - } if (value) { - ret = cue_set ((uint32_t) argv[0]->f, msg); + ret = cue_set ((uint32_t) value, msg); } else { ret = 0; } @@ -5334,23 +5336,23 @@ OSC::cue_parse (const char *path, const char* types, lo_arg **argv, int argc, lo else if (!strncmp (path, "/cue/send/fader/", 16) && strlen (path) > 16) { if (argc == 1) { int id = atoi (&path[16]); - ret = cue_send_fader (id, argv[0]->f, msg); + ret = cue_send_fader (id, value, msg); } } else if (!strncmp (path, "/cue/send/enable/", 17) && strlen (path) > 17) { if (argc == 1) { int id = atoi (&path[17]); - ret = cue_send_enable (id, argv[0]->f, msg); + ret = cue_send_enable (id, value, msg); } } else if (!strncmp (path, "/cue/fader", 10)) { if (argc == 1) { - ret = cue_aux_fader (argv[0]->f, msg); + ret = cue_aux_fader (value, msg); } } else if (!strncmp (path, "/cue/mute", 9)) { if (argc == 1) { - ret = cue_aux_mute (argv[0]->f, msg); + ret = cue_aux_mute (value, msg); } } @@ -5396,7 +5398,7 @@ OSC::_cue_set (uint32_t aux, lo_address addr) // make a list of stripables with sends that go to this bus s->sends = cue_get_sorted_stripables(stp, aux, addr); if (s->cue_obs) { - s->cue_obs->refresh_strip (stp, s->sends, false); + s->cue_obs->refresh_strip (stp, s->sends, true); } else { // start cue observer OSCCueObserver* co = new OSCCueObserver (*this, s); |