From c29568f4c5cb2d0aff374c0dbbb8bd12a5c31735 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 11 Mar 2017 18:48:37 +0100 Subject: 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() --- libs/ardour/control_group.cc | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'libs') 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 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 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) { -- cgit v1.2.3