summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/surfaces/websockets/feedback.cc6
-rw-r--r--libs/surfaces/websockets/strips.cc8
2 files changed, 10 insertions, 4 deletions
diff --git a/libs/surfaces/websockets/feedback.cc b/libs/surfaces/websockets/feedback.cc
index 290f3f9268..2d09b93513 100644
--- a/libs/surfaces/websockets/feedback.cc
+++ b/libs/surfaces/websockets/feedback.cc
@@ -165,8 +165,10 @@ ArdourFeedback::observe_strips ()
strip->gain_control ()->Changed.connect (_signal_connections, MISSING_INVALIDATOR,
boost::bind<void> (StripGainObserver (), this, strip_n), event_loop ());
- strip->pan_azimuth_control ()->Changed.connect (_signal_connections, MISSING_INVALIDATOR,
- boost::bind<void> (StripPanObserver (), this, strip_n), event_loop ());
+ if (strip->pan_azimuth_control ()) {
+ strip->pan_azimuth_control ()->Changed.connect (_signal_connections, MISSING_INVALIDATOR,
+ boost::bind<void> (StripPanObserver (), this, strip_n), event_loop ());
+ }
strip->mute_control ()->Changed.connect (_signal_connections, MISSING_INVALIDATOR,
boost::bind<void> (StripMuteObserver (), this, strip_n), event_loop ());
diff --git a/libs/surfaces/websockets/strips.cc b/libs/surfaces/websockets/strips.cc
index bde8978967..80ce78ac14 100644
--- a/libs/surfaces/websockets/strips.cc
+++ b/libs/surfaces/websockets/strips.cc
@@ -92,8 +92,12 @@ ArdourStrips::strip_pan (uint32_t strip_n) const
void
ArdourStrips::set_strip_pan (uint32_t strip_n, double value)
{
- value = (value + 1.0) / 2.0;
- nth_strip (strip_n)->pan_azimuth_control ()->set_value (value, PBD::Controllable::NoGroup);
+ boost::shared_ptr<AutomationControl> ac = nth_strip (strip_n)->pan_azimuth_control ();
+ if (!ac) {
+ return;
+ }
+ value = (value + 1.0) / 2.0;
+ ac->set_value (value, PBD::Controllable::NoGroup);
}
bool