Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::BackendPort Class Referenceabstract

#include <port_engine_shared.h>

Inheritance diagram for ARDOUR::BackendPort:
[legend]

Public Member Functions

virtual ~BackendPort ()
 
const std::string & name () const
 
const std::string & pretty_name () const
 
const std::string & hw_port_name () const
 
int set_name (const std::string &name)
 
int set_pretty_name (const std::string &name)
 
int set_hw_port_name (const std::string &name)
 
virtual DataType type () const =0
 
PortFlags flags () const
 
bool is_input () const
 
bool is_output () const
 
bool is_physical () const
 
bool is_terminal () const
 
bool is_connected () const
 
bool is_connected (BackendPortHandle port) const
 
bool is_physically_connected () const
 
const std::set< BackendPortPtr > & get_connections () const
 
int connect (BackendPortHandle port, BackendPortHandle self)
 
int disconnect (BackendPortHandle port, BackendPortHandle self)
 
void disconnect_all (BackendPortHandle self)
 
virtual void * get_buffer (pframes_t nframes)=0
 
const LatencyRange latency_range (bool for_playback) const
 
void set_latency_range (const LatencyRange &latency_range, bool for_playback)
 
void update_connected_latency (bool for_playback)
 
- Public Member Functions inherited from ARDOUR::ProtoPort
 ProtoPort ()
 
virtual ~ProtoPort ()
 

Protected Member Functions

 BackendPort (PortEngineSharedImpl &b, const std::string &, PortFlags)
 

Protected Attributes

PortEngineSharedImpl_backend
 

Private Member Functions

void store_connection (BackendPortHandle)
 
void remove_connection (BackendPortHandle)
 

Private Attributes

std::string _name
 
std::string _pretty_name
 
std::string _hw_port_name
 
const PortFlags _flags
 
LatencyRange _capture_latency_range
 
LatencyRange _playback_latency_range
 
std::set< BackendPortPtr_connections
 

Detailed Description

Definition at line 47 of file port_engine_shared.h.

Constructor & Destructor Documentation

◆ BackendPort()

ARDOUR::BackendPort::BackendPort ( PortEngineSharedImpl b,
const std::string &  ,
PortFlags   
)
protected

◆ ~BackendPort()

virtual ARDOUR::BackendPort::~BackendPort ( )
virtual

Member Function Documentation

◆ connect()

int ARDOUR::BackendPort::connect ( BackendPortHandle  port,
BackendPortHandle  self 
)

◆ disconnect()

int ARDOUR::BackendPort::disconnect ( BackendPortHandle  port,
BackendPortHandle  self 
)

◆ disconnect_all()

void ARDOUR::BackendPort::disconnect_all ( BackendPortHandle  self)

◆ flags()

PortFlags ARDOUR::BackendPort::flags ( ) const
inline

Definition at line 78 of file port_engine_shared.h.

◆ get_buffer()

◆ get_connections()

const std::set<BackendPortPtr>& ARDOUR::BackendPort::get_connections ( ) const
inline

Definition at line 88 of file port_engine_shared.h.

◆ hw_port_name()

const std::string& ARDOUR::BackendPort::hw_port_name ( ) const
inline

Definition at line 57 of file port_engine_shared.h.

◆ is_connected() [1/2]

bool ARDOUR::BackendPort::is_connected ( ) const
inline

Definition at line 83 of file port_engine_shared.h.

◆ is_connected() [2/2]

bool ARDOUR::BackendPort::is_connected ( BackendPortHandle  port) const

◆ is_input()

bool ARDOUR::BackendPort::is_input ( ) const
inline

Definition at line 79 of file port_engine_shared.h.

◆ is_output()

bool ARDOUR::BackendPort::is_output ( ) const
inline

Definition at line 80 of file port_engine_shared.h.

◆ is_physical()

bool ARDOUR::BackendPort::is_physical ( ) const
inline

Definition at line 81 of file port_engine_shared.h.

◆ is_physically_connected()

bool ARDOUR::BackendPort::is_physically_connected ( ) const

◆ is_terminal()

bool ARDOUR::BackendPort::is_terminal ( ) const
inline

Definition at line 82 of file port_engine_shared.h.

◆ latency_range()

const LatencyRange ARDOUR::BackendPort::latency_range ( bool  for_playback) const
inline

Definition at line 98 of file port_engine_shared.h.

◆ name()

const std::string& ARDOUR::BackendPort::name ( ) const
inline

Definition at line 55 of file port_engine_shared.h.

◆ pretty_name()

const std::string& ARDOUR::BackendPort::pretty_name ( ) const
inline

Definition at line 56 of file port_engine_shared.h.

◆ remove_connection()

void ARDOUR::BackendPort::remove_connection ( BackendPortHandle  )
private

◆ set_hw_port_name()

int ARDOUR::BackendPort::set_hw_port_name ( const std::string &  name)
inline

Definition at line 71 of file port_engine_shared.h.

◆ set_latency_range()

void ARDOUR::BackendPort::set_latency_range ( const LatencyRange latency_range,
bool  for_playback 
)

◆ set_name()

int ARDOUR::BackendPort::set_name ( const std::string &  name)
inline

Definition at line 59 of file port_engine_shared.h.

◆ set_pretty_name()

int ARDOUR::BackendPort::set_pretty_name ( const std::string &  name)
inline

Definition at line 65 of file port_engine_shared.h.

◆ store_connection()

void ARDOUR::BackendPort::store_connection ( BackendPortHandle  )
private

◆ type()

◆ update_connected_latency()

void ARDOUR::BackendPort::update_connected_latency ( bool  for_playback)

Member Data Documentation

◆ _backend

PortEngineSharedImpl& ARDOUR::BackendPort::_backend
protected

Definition at line 108 of file port_engine_shared.h.

◆ _capture_latency_range

LatencyRange ARDOUR::BackendPort::_capture_latency_range
private

Definition at line 115 of file port_engine_shared.h.

◆ _connections

std::set<BackendPortPtr> ARDOUR::BackendPort::_connections
private

Definition at line 117 of file port_engine_shared.h.

◆ _flags

const PortFlags ARDOUR::BackendPort::_flags
private

Definition at line 114 of file port_engine_shared.h.

◆ _hw_port_name

std::string ARDOUR::BackendPort::_hw_port_name
private

Definition at line 113 of file port_engine_shared.h.

◆ _name

std::string ARDOUR::BackendPort::_name
private

Definition at line 111 of file port_engine_shared.h.

◆ _playback_latency_range

LatencyRange ARDOUR::BackendPort::_playback_latency_range
private

Definition at line 116 of file port_engine_shared.h.

◆ _pretty_name

std::string ARDOUR::BackendPort::_pretty_name
private

Definition at line 112 of file port_engine_shared.h.


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