diff options
Diffstat (limited to 'libs/ardour/solo_isolate_control.cc')
-rw-r--r-- | libs/ardour/solo_isolate_control.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libs/ardour/solo_isolate_control.cc b/libs/ardour/solo_isolate_control.cc index 13770b174e..a913a9810e 100644 --- a/libs/ardour/solo_isolate_control.cc +++ b/libs/ardour/solo_isolate_control.cc @@ -28,7 +28,7 @@ using namespace std; using namespace PBD; SoloIsolateControl::SoloIsolateControl (Session& session, std::string const & name, Soloable& s, Muteable& m) - : SlavableAutomationControl (session, SoloAutomation, ParameterDescriptor (SoloIsolateAutomation), + : SlavableAutomationControl (session, SoloIsolateAutomation, ParameterDescriptor (SoloIsolateAutomation), boost::shared_ptr<AutomationList>(new AutomationList(Evoral::Parameter(SoloIsolateAutomation))), name) , _soloable (s) @@ -97,7 +97,7 @@ SoloIsolateControl::actually_set_value (double val, PBD::Controllable::GroupCont return; } - set_solo_isolated (val == 0.0 ? false : true, gcd); + set_solo_isolated (val, gcd); /* this sets the Evoral::Control::_user_value for us, which will be retrieved by AutomationControl::get_value (), and emits Changed @@ -110,7 +110,7 @@ SoloIsolateControl::actually_set_value (double val, PBD::Controllable::GroupCont void SoloIsolateControl::set_solo_isolated (bool yn, Controllable::GroupControlDisposition group_override) { - if (_soloable.can_solo()) { + if (!_soloable.can_solo()) { return; } @@ -130,7 +130,6 @@ SoloIsolateControl::set_solo_isolated (bool yn, Controllable::GroupControlDispos } } - if (!changed) { return; } |