diff options
author | Len Ovens <len@ovenwerks.net> | 2018-02-21 19:24:18 -0800 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2018-02-21 20:26:43 -0800 |
commit | d79bcd44b22c24fcc8d6df84bcaeeac235b47337 (patch) | |
tree | 0186461cd6cffa9aac921390d2c7316a1d558bcd /libs/surfaces/osc/osc.cc | |
parent | c746e78b3bbc69791f33a315945ff28d04919041 (diff) |
OSC: fix compiler warning and catch possible errors
Diffstat (limited to 'libs/surfaces/osc/osc.cc')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 28 |
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); |