diff options
author | Len Ovens <len@ovenwerks.net> | 2017-07-23 20:07:01 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-07-23 20:08:02 -0700 |
commit | f1632fcfd2eeed678da330f77bdabfc766ade826 (patch) | |
tree | 3b0092a50fec756384d474df4b303f8330635cb2 /libs/surfaces/osc/osc_select_observer.cc | |
parent | 07e869fda8d92fed1a375f85f54f13a75c7d5493 (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.cc | 8 |
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()) { |