change API for BasicUI::goto_start() to use optional roll-after arg
[ardour.git] / libs / ardour / ardour / route_group_member.h
index 860b836209e870de5504ecbf8612bed770363b73..0bf41667458c7f9ee236a05c64fa513b43600612 100644 (file)
 #ifndef __libardour_route_group_member_h__
 #define __libardour_route_group_member_h__
 
+#include "pbd/controllable.h"
+#include "pbd/signals.h"
 
 namespace ARDOUR  {
 
 class RouteGroup;
 
-class RouteGroupMember
+class LIBARDOUR_API RouteGroupMember
 {
   public:
        RouteGroupMember () : _route_group (0) {}
@@ -34,7 +36,9 @@ class RouteGroupMember
        RouteGroup* route_group () const { return _route_group; }
 
        /** Emitted when this member joins or leaves a route group */
-       PBD::Signal1<void, RouteGroup *> route_group_changed;
+       PBD::Signal0<void> route_group_changed;
+
+       bool use_group (PBD::Controllable::GroupControlDisposition gcd, bool (RouteGroup::*predicate)(void) const) const;
 
   protected:
        RouteGroup* _route_group;
@@ -42,8 +46,7 @@ class RouteGroupMember
   private:
        friend class RouteGroup;
 
-       void join_route_group (RouteGroup*);
-       void leave_route_group ();
+       void set_route_group (RouteGroup *);
 };
 
 }