fix file-name reported to analyzer when stem-exporting
[ardour.git] / libs / ardour / route_group_member.cc
index 85d2f981d7a8c37c42575064ab70092ff2d622b2..280d193fba1d90dc11b3cff20b18c878529aa2ff 100644 (file)
@@ -16,7 +16,9 @@
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/route_group_member.h"
+#include "ardour/route_group.h"
 
 using namespace ARDOUR;
 
@@ -33,3 +35,14 @@ 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
+{
+       bool active_for_predicate = _route_group && (_route_group->*predicate)() && _route_group->is_active();
+
+       return ((gcd != PBD::Controllable::NoGroup) && (gcd != PBD::Controllable::ForGroup)) &&
+               _route_group && 
+               ((active_for_predicate && (gcd != PBD::Controllable::InverseGroup)) ||
+                (!active_for_predicate && (gcd == PBD::Controllable::InverseGroup)));
+}