summaryrefslogtreecommitdiff
path: root/libs/surfaces/osc/osc.cc
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2018-02-21 19:24:18 -0800
committerLen Ovens <len@ovenwerks.net>2018-02-21 20:26:43 -0800
commitd79bcd44b22c24fcc8d6df84bcaeeac235b47337 (patch)
tree0186461cd6cffa9aac921390d2c7316a1d558bcd /libs/surfaces/osc/osc.cc
parentc746e78b3bbc69791f33a315945ff28d04919041 (diff)
OSC: fix compiler warning and catch possible errors
Diffstat (limited to 'libs/surfaces/osc/osc.cc')
-rw-r--r--libs/surfaces/osc/osc.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc
index 3aff9c3c9f..c2e19c0507 100644
--- a/libs/surfaces/osc/osc.cc
+++ b/libs/surfaces/osc/osc.cc
@@ -2349,17 +2349,25 @@ OSC::_set_bank (uint32_t bank_start, lo_address addr)
set->bank = bank_start;
uint32_t not_ready = 0;
for (uint32_t dv = 1; dv < d_count; dv++) {
- OSCSurface *sur;
if (set->urls[dv] != "") {
string url = set->urls[dv];
- sur = get_surface (lo_address_new_from_url (url.c_str()));
+ OSCSurface *sur = get_surface (lo_address_new_from_url (url.c_str()));
+ if (sur->linkset != ls) {
+ set->urls[dv] = "";
+ not_ready = dv;
+ } else {
+ lo_address sur_addr = lo_address_new_from_url (sur->remote_url.c_str());
+
+ sur->bank = bank_start;
+ bank_start = bank_start + sur->bank_size;
+ strip_feedback (sur, false);
+ _strip_select (boost::shared_ptr<ARDOUR::Stripable>(), sur_addr);
+ bank_leds (sur);
+ lo_address_free (sur_addr);
+ }
} else {
not_ready = dv;
}
- if (sur->linkset != ls) {
- set->urls[dv] = "";
- not_ready = dv;
- }
if (not_ready) {
if (!set->not_ready) {
set->not_ready = not_ready;
@@ -2367,14 +2375,6 @@ OSC::_set_bank (uint32_t bank_start, lo_address addr)
set->bank = 1;
break;
}
- lo_address sur_addr = lo_address_new_from_url (sur->remote_url.c_str());
-
- sur->bank = bank_start;
- bank_start = bank_start + sur->bank_size;
- strip_feedback (sur, false);
- _strip_select (boost::shared_ptr<ARDOUR::Stripable>(), sur_addr);
- bank_leds (sur);
- lo_address_free (sur_addr);
}
if (not_ready) {
surface_link_state (set);