13
0

Fix websockets surface crash when panner is not available

This commit is contained in:
Robin Gareus 2020-02-23 15:50:59 +01:00
parent 54c4d3adc5
commit 224be91211
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 10 additions and 4 deletions

View File

@ -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 ());

View File

@ -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