X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Froute_group.h;h=1285d3bc52201e227d18c01136aea33d068b1621;hb=a4a246b41d68012534fdc315c67e32c18a25ae8e;hp=5263aceb0f3c38f89caf48ab6eb247861fbc2901;hpb=2cc33684c71131fd483346fe05e3b1a0e1706de9;p=ardour.git diff --git a/libs/ardour/ardour/route_group.h b/libs/ardour/ardour/route_group.h index 5263aceb0f..1285d3bc52 100644 --- a/libs/ardour/ardour/route_group.h +++ b/libs/ardour/ardour/route_group.h @@ -48,6 +48,7 @@ namespace Properties { LIBARDOUR_API extern PBD::PropertyDescriptor group_color; LIBARDOUR_API extern PBD::PropertyDescriptor group_monitoring; LIBARDOUR_API extern PBD::PropertyDescriptor active; + LIBARDOUR_API extern PBD::PropertyDescriptor group_master_number; /* we use these declared in region.cc */ LIBARDOUR_API extern PBD::PropertyDescriptor hidden; }; @@ -75,7 +76,7 @@ class LIBARDOUR_API RouteGroup : public SessionObject 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_gain () const { return _gain.val() && _group_master_number.val() <= 0; } bool is_mute () const { return _mute.val(); } bool is_solo () const { return _solo.val(); } bool is_recenable () const { return _recenable.val(); } @@ -83,6 +84,7 @@ class LIBARDOUR_API RouteGroup : public SessionObject bool is_route_active () const { return _route_active.val(); } bool is_color () const { return _color.val(); } bool is_monitoring() const { return _monitoring.val(); } + int32_t group_master_number() const { return _group_master_number.val(); } bool empty() const {return routes->empty();} size_t size() const { return routes->size();} @@ -145,6 +147,7 @@ class LIBARDOUR_API RouteGroup : public SessionObject void assign_master (boost::shared_ptr); void unassign_master (boost::shared_ptr); + bool has_control_master() const; bool slaved () const; private: @@ -163,6 +166,7 @@ class LIBARDOUR_API RouteGroup : public SessionObject PBD::Property _route_active; PBD::Property _color; PBD::Property _monitoring; + PBD::Property _group_master_number; boost::shared_ptr _solo_group; boost::shared_ptr _mute_group;