-class RouteGroup : public PBD::Stateful, public sigc::trackable {
-public:
- enum Flag {
- Relative = 0x1,
- Active = 0x2,
- Hidden = 0x4
- };
-
- enum Property {
- Gain = 0x1,
- Mute = 0x2,
- Solo = 0x4,
- RecEnable = 0x8,
- Select = 0x10,
- Edit = 0x20
- };
-
- RouteGroup (Session& s, const std::string &n, Flag f = Flag(0));
-
- const std::string& name() { return _name; }
- void set_name (std::string str);
-
- bool is_active () const { return _flags & Active; }
- bool is_relative () const { return _flags & Relative; }
- bool is_hidden () const { return _flags & Hidden; }
- bool empty() const {return routes.empty();}
-
+class LIBARDOUR_API RouteGroup : public SessionObject
+{
+ public:
+ static void make_property_quarks();
+
+ RouteGroup (Session& s, const std::string &n);
+ ~RouteGroup ();
+
+ bool is_active () const { return _active.val(); }
+ bool is_relative () const { return _relative.val(); }
+ bool is_hidden () const { return _hidden.val(); }
+ bool is_gain () const { return _gain.val(); }
+ bool is_mute () const { return _mute.val(); }
+ bool is_solo () const { return _solo.val(); }
+ bool is_recenable () const { return _recenable.val(); }
+ bool is_select () const { return _select.val(); }
+ bool is_route_active () const { return _route_active.val(); }
+ bool is_color () const { return _color.val(); }
+ bool is_monitoring() const { return _monitoring.val(); }
+
+ bool empty() const {return routes->empty();}
+ size_t size() const { return routes->size();}
+