Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::RouteGroup Class Reference

#include <route_group.h>

Inheritance diagram for ARDOUR::RouteGroup:
[legend]

Public Member Functions

 RouteGroup (Session &s, const std::string &n)
 
 ~RouteGroup ()
 
bool is_active () const
 
bool is_relative () const
 
bool is_hidden () const
 
bool is_gain () const
 
bool is_mute () const
 
bool is_solo () const
 
bool is_recenable () const
 
bool is_sursend_enable () const
 
bool is_select () const
 
bool is_route_active () const
 
bool is_color () const
 
bool is_monitoring () const
 
int32_t group_master_number () const
 
std::weak_ptr< Routesubgroup_bus () const
 
bool empty () const
 
size_t size () const
 
gain_t get_max_factor (gain_t factor)
 
gain_t get_min_factor (gain_t factor)
 
void set_active (bool yn, void *src)
 
void set_relative (bool yn, void *src)
 
void set_hidden (bool yn, void *src)
 
void set_gain (bool yn)
 
void set_mute (bool yn)
 
void set_solo (bool yn)
 
void set_recenable (bool yn)
 
void set_sursend_enable (bool yn)
 
void set_select (bool yn)
 
void set_route_active (bool yn)
 
void set_color (bool yn)
 
void set_monitoring (bool yn)
 
bool enabled_property (PBD::PropertyID)
 
int add (std::shared_ptr< Route >)
 
int remove (std::shared_ptr< Route >)
 
template<typename Function >
void foreach_route (Function f)
 
template<class T >
void apply (void(Track::*func)(T, PBD::Controllable::GroupControlDisposition), T val, PBD::Controllable::GroupControlDisposition)
 
void audio_track_group (std::set< std::shared_ptr< AudioTrack > > &at_set)
 
void clear ()
 
bool has_subgroup () const
 
bool can_subgroup (bool, Placement) const
 
void make_subgroup (bool, Placement)
 
void destroy_subgroup ()
 
std::shared_ptr< RouteListroute_list ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
void assign_master (std::shared_ptr< VCA >)
 
void unassign_master (std::shared_ptr< VCA >)
 
bool has_control_master () const
 
bool slaved () const
 
uint32_t rgba () const
 
void set_rgba (uint32_t)
 
void migrate_rgba (uint32_t color)
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
virtual bool set_name (const std::string &str)
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 

Static Public Member Functions

static void make_property_quarks ()
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 

Public Attributes

PBD::Signal< void(RouteGroup *, std::weak_ptr< ARDOUR::Route >)> RouteAdded
 
PBD::Signal< void(RouteGroup *, std::weak_ptr< ARDOUR::Route >)> RouteRemoved
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 

Private Member Functions

bool check_subgroup (bool, Placement, DataType &, uint32_t &) const
 
void remove_when_going_away (std::weak_ptr< Route >)
 
void update_surround_sends ()
 
void unset_subgroup_bus ()
 
int set_state_2X (const XMLNode &, int)
 
void post_set (PBD::PropertyChange const &)
 
void push_to_groups ()
 

Private Attributes

std::shared_ptr< RouteListroutes
 
std::shared_ptr< Route_subgroup_bus
 
std::weak_ptr< VCAgroup_master
 
PBD::Property< bool > _relative
 
PBD::Property< bool > _active
 
PBD::Property< bool > _hidden
 
PBD::Property< bool > _gain
 
PBD::Property< bool > _mute
 
PBD::Property< bool > _solo
 
PBD::Property< bool > _recenable
 
PBD::Property< bool > _sursend_enable
 
PBD::Property< bool > _select
 
PBD::Property< bool > _route_active
 
PBD::Property< bool > _color
 
PBD::Property< bool > _monitoring
 
PBD::Property< int32_t > _group_master_number
 
std::shared_ptr< ControlGroup_solo_group
 
std::shared_ptr< ControlGroup_mute_group
 
std::shared_ptr< ControlGroup_rec_enable_group
 
std::shared_ptr< ControlGroup_sursend_enable_group
 
std::shared_ptr< ControlGroup_gain_group
 
std::shared_ptr< ControlGroup_monitoring_group
 
uint32_t _rgba
 
bool _used_to_share_gain
 

Additional Inherited Members

- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Detailed Description

A group identifier for routes.

RouteGroups permit to define properties which are shared among all Routes that use the given identifier.

A route can at most be in one group.

Definition at line 72 of file route_group.h.

Constructor & Destructor Documentation

◆ RouteGroup()

ARDOUR::RouteGroup::RouteGroup ( Session s,
const std::string &  n 
)

◆ ~RouteGroup()

ARDOUR::RouteGroup::~RouteGroup ( )

Member Function Documentation

◆ add()

int ARDOUR::RouteGroup::add ( std::shared_ptr< Route )

◆ apply()

template<class T >
void ARDOUR::RouteGroup::apply ( void(Track::*)(T, PBD::Controllable::GroupControlDisposition func,
val,
PBD::Controllable::GroupControlDisposition  group_override 
)

Definition at line 29 of file route_group_specialized.h.

◆ assign_master()

void ARDOUR::RouteGroup::assign_master ( std::shared_ptr< VCA )

◆ audio_track_group()

void ARDOUR::RouteGroup::audio_track_group ( std::set< std::shared_ptr< AudioTrack > > &  at_set)

◆ can_subgroup()

bool ARDOUR::RouteGroup::can_subgroup ( bool  ,
Placement   
) const

◆ check_subgroup()

bool ARDOUR::RouteGroup::check_subgroup ( bool  ,
Placement  ,
DataType ,
uint32_t &   
) const
private

◆ clear()

void ARDOUR::RouteGroup::clear ( )
inline

Definition at line 135 of file route_group.h.

◆ destroy_subgroup()

void ARDOUR::RouteGroup::destroy_subgroup ( )

◆ empty()

bool ARDOUR::RouteGroup::empty ( ) const
inline

Definition at line 95 of file route_group.h.

◆ enabled_property()

bool ARDOUR::RouteGroup::enabled_property ( PBD::PropertyID  )

◆ foreach_route()

template<typename Function >
void ARDOUR::RouteGroup::foreach_route ( Function  f)
inline

Definition at line 121 of file route_group.h.

◆ get_max_factor()

gain_t ARDOUR::RouteGroup::get_max_factor ( gain_t  factor)

◆ get_min_factor()

gain_t ARDOUR::RouteGroup::get_min_factor ( gain_t  factor)

◆ get_state()

XMLNode& ARDOUR::RouteGroup::get_state ( ) const
virtual

Implements PBD::Stateful.

◆ group_master_number()

int32_t ARDOUR::RouteGroup::group_master_number ( ) const
inline

Definition at line 92 of file route_group.h.

◆ has_control_master()

bool ARDOUR::RouteGroup::has_control_master ( ) const

◆ has_subgroup()

bool ARDOUR::RouteGroup::has_subgroup ( ) const

◆ is_active()

bool ARDOUR::RouteGroup::is_active ( void  ) const
inline

Definition at line 80 of file route_group.h.

◆ is_color()

bool ARDOUR::RouteGroup::is_color ( ) const
inline

Definition at line 90 of file route_group.h.

◆ is_gain()

bool ARDOUR::RouteGroup::is_gain ( ) const
inline

Definition at line 83 of file route_group.h.

◆ is_hidden()

bool ARDOUR::RouteGroup::is_hidden ( ) const
inline

Definition at line 82 of file route_group.h.

◆ is_monitoring()

bool ARDOUR::RouteGroup::is_monitoring ( ) const
inline

Definition at line 91 of file route_group.h.

◆ is_mute()

bool ARDOUR::RouteGroup::is_mute ( ) const
inline

Definition at line 84 of file route_group.h.

◆ is_recenable()

bool ARDOUR::RouteGroup::is_recenable ( ) const
inline

Definition at line 86 of file route_group.h.

◆ is_relative()

bool ARDOUR::RouteGroup::is_relative ( ) const
inline

Definition at line 81 of file route_group.h.

◆ is_route_active()

bool ARDOUR::RouteGroup::is_route_active ( ) const
inline

Definition at line 89 of file route_group.h.

◆ is_select()

bool ARDOUR::RouteGroup::is_select ( ) const
inline

Definition at line 88 of file route_group.h.

◆ is_solo()

bool ARDOUR::RouteGroup::is_solo ( ) const
inline

Definition at line 85 of file route_group.h.

◆ is_sursend_enable()

bool ARDOUR::RouteGroup::is_sursend_enable ( ) const
inline

Definition at line 87 of file route_group.h.

◆ make_property_quarks()

static void ARDOUR::RouteGroup::make_property_quarks ( )
static

◆ make_subgroup()

void ARDOUR::RouteGroup::make_subgroup ( bool  ,
Placement   
)

◆ migrate_rgba()

void ARDOUR::RouteGroup::migrate_rgba ( uint32_t  color)
inline

Definition at line 168 of file route_group.h.

◆ post_set()

void ARDOUR::RouteGroup::post_set ( PBD::PropertyChange const &  )
privatevirtual

Reimplemented from PBD::Stateful.

◆ push_to_groups()

void ARDOUR::RouteGroup::push_to_groups ( )
private

◆ remove()

int ARDOUR::RouteGroup::remove ( std::shared_ptr< Route )

◆ remove_when_going_away()

void ARDOUR::RouteGroup::remove_when_going_away ( std::weak_ptr< Route )
private

◆ rgba()

uint32_t ARDOUR::RouteGroup::rgba ( ) const
inline

Definition at line 161 of file route_group.h.

◆ route_list()

std::shared_ptr<RouteList> ARDOUR::RouteGroup::route_list ( )
inline

Definition at line 145 of file route_group.h.

◆ set_active()

void ARDOUR::RouteGroup::set_active ( bool  yn,
void *  src 
)

◆ set_color()

void ARDOUR::RouteGroup::set_color ( bool  yn)

◆ set_gain()

void ARDOUR::RouteGroup::set_gain ( bool  yn)

◆ set_hidden()

void ARDOUR::RouteGroup::set_hidden ( bool  yn,
void *  src 
)

◆ set_monitoring()

void ARDOUR::RouteGroup::set_monitoring ( bool  yn)

◆ set_mute()

void ARDOUR::RouteGroup::set_mute ( bool  yn)

◆ set_recenable()

void ARDOUR::RouteGroup::set_recenable ( bool  yn)

◆ set_relative()

void ARDOUR::RouteGroup::set_relative ( bool  yn,
void *  src 
)

◆ set_rgba()

void ARDOUR::RouteGroup::set_rgba ( uint32_t  )

set route-group color and notify UI about change

◆ set_route_active()

void ARDOUR::RouteGroup::set_route_active ( bool  yn)

◆ set_select()

void ARDOUR::RouteGroup::set_select ( bool  yn)

◆ set_solo()

void ARDOUR::RouteGroup::set_solo ( bool  yn)

◆ set_state()

int ARDOUR::RouteGroup::set_state ( const XMLNode ,
int  version 
)
virtual

Implements PBD::Stateful.

◆ set_state_2X()

int ARDOUR::RouteGroup::set_state_2X ( const XMLNode ,
int   
)
private

◆ set_sursend_enable()

void ARDOUR::RouteGroup::set_sursend_enable ( bool  yn)

◆ size()

size_t ARDOUR::RouteGroup::size ( ) const
inline

Definition at line 96 of file route_group.h.

◆ slaved()

bool ARDOUR::RouteGroup::slaved ( ) const

◆ subgroup_bus()

std::weak_ptr<Route> ARDOUR::RouteGroup::subgroup_bus ( ) const
inline

Definition at line 93 of file route_group.h.

◆ unassign_master()

void ARDOUR::RouteGroup::unassign_master ( std::shared_ptr< VCA )

◆ unset_subgroup_bus()

void ARDOUR::RouteGroup::unset_subgroup_bus ( )
private

◆ update_surround_sends()

void ARDOUR::RouteGroup::update_surround_sends ( )
private

Member Data Documentation

◆ _active

PBD::Property<bool> ARDOUR::RouteGroup::_active
private

Definition at line 176 of file route_group.h.

◆ _color

PBD::Property<bool> ARDOUR::RouteGroup::_color
private

Definition at line 185 of file route_group.h.

◆ _gain

PBD::Property<bool> ARDOUR::RouteGroup::_gain
private

Definition at line 178 of file route_group.h.

◆ _gain_group

std::shared_ptr<ControlGroup> ARDOUR::RouteGroup::_gain_group
private

Definition at line 193 of file route_group.h.

◆ _group_master_number

PBD::Property<int32_t> ARDOUR::RouteGroup::_group_master_number
private

Definition at line 187 of file route_group.h.

◆ _hidden

PBD::Property<bool> ARDOUR::RouteGroup::_hidden
private

Definition at line 177 of file route_group.h.

◆ _monitoring

PBD::Property<bool> ARDOUR::RouteGroup::_monitoring
private

Definition at line 186 of file route_group.h.

◆ _monitoring_group

std::shared_ptr<ControlGroup> ARDOUR::RouteGroup::_monitoring_group
private

Definition at line 194 of file route_group.h.

◆ _mute

PBD::Property<bool> ARDOUR::RouteGroup::_mute
private

Definition at line 179 of file route_group.h.

◆ _mute_group

std::shared_ptr<ControlGroup> ARDOUR::RouteGroup::_mute_group
private

Definition at line 190 of file route_group.h.

◆ _rec_enable_group

std::shared_ptr<ControlGroup> ARDOUR::RouteGroup::_rec_enable_group
private

Definition at line 191 of file route_group.h.

◆ _recenable

PBD::Property<bool> ARDOUR::RouteGroup::_recenable
private

Definition at line 181 of file route_group.h.

◆ _relative

PBD::Property<bool> ARDOUR::RouteGroup::_relative
private

Definition at line 175 of file route_group.h.

◆ _rgba

uint32_t ARDOUR::RouteGroup::_rgba
private

Definition at line 205 of file route_group.h.

◆ _route_active

PBD::Property<bool> ARDOUR::RouteGroup::_route_active
private

Definition at line 184 of file route_group.h.

◆ _select

PBD::Property<bool> ARDOUR::RouteGroup::_select
private

Definition at line 183 of file route_group.h.

◆ _solo

PBD::Property<bool> ARDOUR::RouteGroup::_solo
private

Definition at line 180 of file route_group.h.

◆ _solo_group

std::shared_ptr<ControlGroup> ARDOUR::RouteGroup::_solo_group
private

Definition at line 189 of file route_group.h.

◆ _subgroup_bus

std::shared_ptr<Route> ARDOUR::RouteGroup::_subgroup_bus
private

Definition at line 172 of file route_group.h.

◆ _sursend_enable

PBD::Property<bool> ARDOUR::RouteGroup::_sursend_enable
private

Definition at line 182 of file route_group.h.

◆ _sursend_enable_group

std::shared_ptr<ControlGroup> ARDOUR::RouteGroup::_sursend_enable_group
private

Definition at line 192 of file route_group.h.

◆ _used_to_share_gain

bool ARDOUR::RouteGroup::_used_to_share_gain
private

Definition at line 206 of file route_group.h.

◆ group_master

std::weak_ptr<VCA> ARDOUR::RouteGroup::group_master
private

Definition at line 173 of file route_group.h.

◆ RouteAdded

PBD::Signal<void(RouteGroup *, std::weak_ptr<ARDOUR::Route> )> ARDOUR::RouteGroup::RouteAdded

Emitted when a route has been added to this group

Definition at line 148 of file route_group.h.

◆ RouteRemoved

PBD::Signal<void(RouteGroup *, std::weak_ptr<ARDOUR::Route> )> ARDOUR::RouteGroup::RouteRemoved

Emitted when a route has been removed from this group

Definition at line 150 of file route_group.h.

◆ routes

std::shared_ptr<RouteList> ARDOUR::RouteGroup::routes
private

Definition at line 171 of file route_group.h.


The documentation for this class was generated from the following files: