summaryrefslogtreecommitdiff
path: root/libs/ardour/control_group.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-03-11 18:48:37 +0100
committerRobin Gareus <robin@gareus.org>2017-03-11 18:58:50 +0100
commitc29568f4c5cb2d0aff374c0dbbb8bd12a5c31735 (patch)
tree3e07c5376cae3b6f3553d070ece5d8516b0a10ae /libs/ardour/control_group.cc
parentd6d1074565547f40dc46be7e6465c1085d639ce7 (diff)
Fix Controllable::InverseGroup behavior.
use_group(), use_me() filters group behavior beforehand. ControlGroup::set_group_value() lacks context to make the decision itself and should always apply to the group (regardless of active state): InverseGroup allows to override both: inactive predicate and inactive group. This needs testing, particularly since RouteGroupMember::use_group() is no longer used and was superseded by RouteGroup::push_to_groups()
Diffstat (limited to 'libs/ardour/control_group.cc')
-rw-r--r--libs/ardour/control_group.cc10
1 files changed, 0 insertions, 10 deletions
diff --git a/libs/ardour/control_group.cc b/libs/ardour/control_group.cc
index 5f65122a3d..ea289506a6 100644
--- a/libs/ardour/control_group.cc
+++ b/libs/ardour/control_group.cc
@@ -171,10 +171,6 @@ 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);
@@ -256,12 +252,6 @@ GainControlGroup::get_max_factor (gain_t factor)
void
GainControlGroup::set_group_value (boost::shared_ptr<AutomationControl> control, double val)
{
- if (!_active) {
- /* set the primary control */
- control->set_value (val, Controllable::ForGroup);
- return;
- }
-
Glib::Threads::RWLock::ReaderLock lm (controls_lock);
if (_mode & Relative) {