summaryrefslogtreecommitdiff
path: root/libs/ardour/route_group_member.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/route_group_member.cc')
-rw-r--r--libs/ardour/route_group_member.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/route_group_member.cc b/libs/ardour/route_group_member.cc
index 3caa7cd1d0..6ab2ade21e 100644
--- a/libs/ardour/route_group_member.cc
+++ b/libs/ardour/route_group_member.cc
@@ -18,6 +18,7 @@
#include "ardour/libardour_visibility.h"
#include "ardour/route_group_member.h"
+#include "ardour/route_group.h"
using namespace ARDOUR;
@@ -34,3 +35,12 @@ RouteGroupMember::set_route_group (RouteGroup *rg)
_route_group = rg;
route_group_changed (); /* EMIT SIGNAL */
}
+
+bool
+RouteGroupMember::use_group (PBD::Controllable::GroupControlDisposition gcd, bool (RouteGroup::*predicate)(void) const) const
+{
+ return (gcd != PBD::Controllable::NoGroup) &&
+ (_route_group &&
+ ((gcd == PBD::Controllable::WholeGroup) ||
+ (_route_group->is_active() && (_route_group->*predicate)())));
+}