summaryrefslogtreecommitdiff
path: root/libs/ardour/control_group.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-07 09:48:17 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-07 09:48:17 -0400
commit78ad42fd88791da359640329874e2abf2acbebc9 (patch)
tree4816f1ff3ef1944f278d079e787ade769c08c1be /libs/ardour/control_group.cc
parentaf9a9a9efd17452931525e3ddcf1d57bcbc7f4a7 (diff)
fix up logic that connects ControlGroups and RouteGroups
This makes deactivating a RouteGroup also stop the ControlGroups from having any effect
Diffstat (limited to 'libs/ardour/control_group.cc')
-rw-r--r--libs/ardour/control_group.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/control_group.cc b/libs/ardour/control_group.cc
index 36ea1efc63..25f21a8775 100644
--- a/libs/ardour/control_group.cc
+++ b/libs/ardour/control_group.cc
@@ -155,6 +155,10 @@ ControlGroup::set_group_value (boost::shared_ptr<AutomationControl> control, dou
control->set_value (val, Controllable::ForGroup);
+ if (!_active) {
+ return;
+ }
+
/* now propagate across the group */
Glib::Threads::RWLock::ReaderLock lm (controls_lock);
@@ -237,6 +241,10 @@ GainControlGroup::set_group_value (boost::shared_ptr<AutomationControl> control,
/* now propagate across the group */
+ if (!_active) {
+ return;
+ }
+
Glib::Threads::RWLock::ReaderLock lm (controls_lock);
if (_mode & Relative) {