summaryrefslogtreecommitdiff
path: root/libs/surfaces/osc/osc_select_observer.cc
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2017-07-23 20:07:01 -0700
committerLen Ovens <len@ovenwerks.net>2017-07-23 20:08:02 -0700
commitf1632fcfd2eeed678da330f77bdabfc766ade826 (patch)
tree3b0092a50fec756384d474df4b303f8330635cb2 /libs/surfaces/osc/osc_select_observer.cc
parent07e869fda8d92fed1a375f85f54f13a75c7d5493 (diff)
OSC: make sure initialization is complete before we allow periodic to run
Diffstat (limited to 'libs/surfaces/osc/osc_select_observer.cc')
-rw-r--r--libs/surfaces/osc/osc_select_observer.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/surfaces/osc/osc_select_observer.cc b/libs/surfaces/osc/osc_select_observer.cc
index dfc1a80319..092da95a5a 100644
--- a/libs/surfaces/osc/osc_select_observer.cc
+++ b/libs/surfaces/osc/osc_select_observer.cc
@@ -54,8 +54,9 @@ OSCSelectObserver::OSCSelectObserver (boost::shared_ptr<Stripable> s, lo_address
,sur (su)
,nsends (0)
,_last_gain (0.0)
+ ,_init (true)
{
- addr = lo_address_new (lo_address_get_hostname(a) , lo_address_get_port(a));
+ addr = lo_address_new_from_url (sur->remote_url.c_str());
gainmode = sur->gainmode;
feedback = sur->feedback;
as = ARDOUR::Off;
@@ -173,12 +174,14 @@ OSCSelectObserver::OSCSelectObserver (boost::shared_ptr<Stripable> s, lo_address
change_message ("/select/comp_makeup", _strip->comp_makeup_controllable());
}
+ _init = false;
tick();
}
OSCSelectObserver::~OSCSelectObserver ()
{
+ _init = true;
strip_connections.drop_connections ();
// all strip buttons should be off and faders 0 and etc.
send_float ("/select/expand", 0);
@@ -427,6 +430,9 @@ OSCSelectObserver::plugin_end ()
void
OSCSelectObserver::tick ()
{
+ if (_init) {
+ return;
+ }
if (feedback[7] || feedback[8] || feedback[9]) { // meters enabled
float now_meter;
if (_strip->peak_meter()) {