Ardour  9.0-pre0-582-g084a23a80d
PortGroupList Class Reference

A list of PortGroups. More...

#include <port_group.h>

Inheritance diagram for PortGroupList:
[legend]

Public Types

typedef std::vector< std::shared_ptr< PortGroup > > List
 

Public Member Functions

 PortGroupList ()
 
 ~PortGroupList ()
 
void add_group (std::shared_ptr< PortGroup >)
 
void add_group_if_not_empty (std::shared_ptr< PortGroup >)
 
void gather (ARDOUR::Session *, ARDOUR::DataType, bool, bool, bool)
 
PortGroup::BundleList const & bundles () const
 
void clear ()
 
void remove_bundle (std::shared_ptr< ARDOUR::Bundle >)
 
ARDOUR::ChanCount total_channels () const
 
uint32_t size () const
 
std::shared_ptr< ARDOUR::IOio_from_bundle (std::shared_ptr< ARDOUR::Bundle >) const
 
void suspend_signals ()
 
void resume_signals ()
 
List::const_iterator begin () const
 
List::const_iterator end () const
 
bool empty () const
 

Public Attributes

PBD::Signal< void()> Changed
 
PBD::Signal< void(ARDOUR::Bundle::Change)> BundleChanged
 

Private Member Functions

bool port_has_prefix (std::string const &, std::string const &) const
 
std::string common_prefix (std::vector< std::string > const &) const
 
std::string common_prefix_before (std::vector< std::string > const &, std::string const &) const
 
void emit_changed ()
 
void emit_bundle_changed (ARDOUR::Bundle::Change)
 
std::shared_ptr< ARDOUR::Bundlemake_bundle_from_ports (std::vector< std::string > const &, ARDOUR::DataType, bool, std::string const &bundle_name=std::string()) const
 
void add_bundles_for_ports (std::vector< std::string > const &, ARDOUR::DataType, bool, bool, std::shared_ptr< PortGroup >) const
 
void maybe_add_processor_to_list (std::weak_ptr< ARDOUR::Processor >, std::list< std::shared_ptr< ARDOUR::IO > > *, bool, std::set< std::shared_ptr< ARDOUR::IO > > &)
 

Private Attributes

PortGroup::BundleList _bundles
 
List _groups
 
PBD::ScopedConnectionList _bundle_changed_connections
 
PBD::ScopedConnectionList _changed_connections
 
bool _signals_suspended
 
bool _pending_change
 
ARDOUR::Bundle::Change _pending_bundle_change
 

Detailed Description

A list of PortGroups.

Definition at line 101 of file port_group.h.

Member Typedef Documentation

◆ List

typedef std::vector<std::shared_ptr<PortGroup> > PortGroupList::List

Definition at line 107 of file port_group.h.

Constructor & Destructor Documentation

◆ PortGroupList()

PortGroupList::PortGroupList ( )

◆ ~PortGroupList()

PortGroupList::~PortGroupList ( )

Member Function Documentation

◆ add_bundles_for_ports()

void PortGroupList::add_bundles_for_ports ( std::vector< std::string > const &  ,
ARDOUR::DataType  ,
bool  ,
bool  ,
std::shared_ptr< PortGroup  
) const
private

◆ add_group()

void PortGroupList::add_group ( std::shared_ptr< PortGroup )

◆ add_group_if_not_empty()

void PortGroupList::add_group_if_not_empty ( std::shared_ptr< PortGroup )

◆ begin()

List::const_iterator PortGroupList::begin ( ) const
inline

Definition at line 124 of file port_group.h.

◆ bundles()

PortGroup::BundleList const& PortGroupList::bundles ( ) const

◆ clear()

void PortGroupList::clear ( )

◆ common_prefix()

std::string PortGroupList::common_prefix ( std::vector< std::string > const &  ) const
private

◆ common_prefix_before()

std::string PortGroupList::common_prefix_before ( std::vector< std::string > const &  ,
std::string const &   
) const
private

◆ emit_bundle_changed()

void PortGroupList::emit_bundle_changed ( ARDOUR::Bundle::Change  )
private

◆ emit_changed()

void PortGroupList::emit_changed ( )
private

◆ empty()

bool PortGroupList::empty ( ) const

◆ end()

List::const_iterator PortGroupList::end ( ) const
inline

Definition at line 128 of file port_group.h.

◆ gather()

void PortGroupList::gather ( ARDOUR::Session ,
ARDOUR::DataType  ,
bool  ,
bool  ,
bool   
)

◆ io_from_bundle()

std::shared_ptr<ARDOUR::IO> PortGroupList::io_from_bundle ( std::shared_ptr< ARDOUR::Bundle ) const

◆ make_bundle_from_ports()

std::shared_ptr<ARDOUR::Bundle> PortGroupList::make_bundle_from_ports ( std::vector< std::string > const &  ,
ARDOUR::DataType  ,
bool  ,
std::string const &  bundle_name = std::string() 
) const
private

◆ maybe_add_processor_to_list()

void PortGroupList::maybe_add_processor_to_list ( std::weak_ptr< ARDOUR::Processor ,
std::list< std::shared_ptr< ARDOUR::IO > > *  ,
bool  ,
std::set< std::shared_ptr< ARDOUR::IO > > &   
)
private

◆ port_has_prefix()

bool PortGroupList::port_has_prefix ( std::string const &  ,
std::string const &   
) const
private

◆ remove_bundle()

void PortGroupList::remove_bundle ( std::shared_ptr< ARDOUR::Bundle )

◆ resume_signals()

void PortGroupList::resume_signals ( )

◆ size()

uint32_t PortGroupList::size ( ) const
inline

Definition at line 116 of file port_group.h.

◆ suspend_signals()

void PortGroupList::suspend_signals ( )

◆ total_channels()

ARDOUR::ChanCount PortGroupList::total_channels ( ) const

Member Data Documentation

◆ _bundle_changed_connections

PBD::ScopedConnectionList PortGroupList::_bundle_changed_connections
private

Definition at line 152 of file port_group.h.

◆ _bundles

PortGroup::BundleList PortGroupList::_bundles
mutableprivate

Definition at line 150 of file port_group.h.

◆ _changed_connections

PBD::ScopedConnectionList PortGroupList::_changed_connections
private

Definition at line 153 of file port_group.h.

◆ _groups

List PortGroupList::_groups
private

Definition at line 151 of file port_group.h.

◆ _pending_bundle_change

ARDOUR::Bundle::Change PortGroupList::_pending_bundle_change
private

Definition at line 156 of file port_group.h.

◆ _pending_change

bool PortGroupList::_pending_change
private

Definition at line 155 of file port_group.h.

◆ _signals_suspended

bool PortGroupList::_signals_suspended
private

Definition at line 154 of file port_group.h.

◆ BundleChanged

PBD::Signal<void(ARDOUR::Bundle::Change)> PortGroupList::BundleChanged

A bundle in one of our groups has changed

Definition at line 138 of file port_group.h.

◆ Changed

PBD::Signal<void()> PortGroupList::Changed

The group list has changed in some way; a group has been added or removed, or the list cleared etc.

Definition at line 135 of file port_group.h.


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