diff options
Diffstat (limited to 'libs/ardour/route_group_member.cc')
-rw-r--r-- | libs/ardour/route_group_member.cc | 10 |
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)()))); +} |