summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2016-07-18 15:57:27 -0700
committerLen Ovens <len@ovenwerks.net>2016-07-18 15:57:27 -0700
commit0017837b02f3a662ddc8ad8386f6b0ebafc32f7e (patch)
treed8b4975922ab9faec83878327f1bedcc436f630d
parenta09fec02139770c90bdadffb56b356826c314dfd (diff)
OSC: check if pan exists, fixes MB crash.
-rw-r--r--libs/surfaces/osc/osc_global_observer.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/surfaces/osc/osc_global_observer.cc b/libs/surfaces/osc/osc_global_observer.cc
index 075db3f94b..4602a2a9dd 100644
--- a/libs/surfaces/osc/osc_global_observer.cc
+++ b/libs/surfaces/osc/osc_global_observer.cc
@@ -61,8 +61,10 @@ OSCGlobalObserver::OSCGlobalObserver (Session& s, lo_address a, uint32_t gm, std
send_trim_message ("/master/trimdB", strip->trim_control());
boost::shared_ptr<Controllable> pan_controllable = boost::dynamic_pointer_cast<Controllable>(strip->pan_azimuth_control());
- pan_controllable->Changed.connect (strip_connections, MISSING_INVALIDATOR, bind (&OSCGlobalObserver::send_change_message, this, X_("/master/pan_stereo_position"), strip->pan_azimuth_control()), OSC::instance());
- send_change_message ("/master/pan_stereo_position", strip->pan_azimuth_control());
+ if (pan_controllable) {
+ pan_controllable->Changed.connect (strip_connections, MISSING_INVALIDATOR, bind (&OSCGlobalObserver::send_change_message, this, X_("/master/pan_stereo_position"), strip->pan_azimuth_control()), OSC::instance());
+ send_change_message ("/master/pan_stereo_position", strip->pan_azimuth_control());
+ }
boost::shared_ptr<Controllable> gain_controllable = boost::dynamic_pointer_cast<Controllable>(strip->gain_control());
if (gainmode) {
@@ -230,7 +232,7 @@ OSCGlobalObserver::tick ()
if (feedback[7] || feedback[8] || feedback[9]) { // meters enabled
// the only meter here is master
float now_meter = session->master_out()->peak_meter()->meter_level(0, MeterMCP);
- if (now_meter < -144) now_meter = -193;
+ if (now_meter < -120) now_meter = -193;
if (_last_meter != now_meter) {
if (feedback[7] || feedback[8]) {
lo_message msg = lo_message_new ();