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

Basic export channel that reads from AudioPorts. More...

#include <export_channel.h>

Inheritance diagram for ARDOUR::PortExportChannel:
[legend]

Public Types

typedef std::set< std::weak_ptr< AudioPort >, std::owner_less< std::weak_ptr< AudioPort > > > PortSet
 

Public Member Functions

 PortExportChannel ()
 
 ~PortExportChannel ()
 
samplecnt_t common_port_playback_latency () const
 
void prepare_export (samplecnt_t max_samples, sampleoffset_t common_latency)
 
void read (Buffer const *&, samplecnt_t samples) const
 
bool empty () const
 
std::string state_node_name () const
 
void get_state (XMLNode *node) const
 Adds state to node passed. More...
 
void set_state (XMLNode *node, Session &session)
 Sets state from node passed. More...
 
bool operator< (ExportChannel const &other) const
 
void add_port (std::weak_ptr< AudioPort > port)
 
PortSet const & get_ports () const
 
- Public Member Functions inherited from ARDOUR::ExportChannel
virtual ~ExportChannel ()
 
virtual bool audio () const
 
virtual bool midi () const
 

Private Attributes

PortSet ports
 
samplecnt_t _buffer_size
 
std::unique_ptr< Sample[]> _buffer
 
AudioBuffer _buf
 
std::list< std::shared_ptr< PBD::RingBuffer< Sample > > > _delaylines
 

Detailed Description

Basic export channel that reads from AudioPorts.

Definition at line 76 of file export_channel.h.

Member Typedef Documentation

◆ PortSet

typedef std::set<std::weak_ptr<AudioPort>, std::owner_less<std::weak_ptr<AudioPort> > > ARDOUR::PortExportChannel::PortSet

Definition at line 79 of file export_channel.h.

Constructor & Destructor Documentation

◆ PortExportChannel()

ARDOUR::PortExportChannel::PortExportChannel ( )

◆ ~PortExportChannel()

ARDOUR::PortExportChannel::~PortExportChannel ( )

Member Function Documentation

◆ add_port()

void ARDOUR::PortExportChannel::add_port ( std::weak_ptr< AudioPort port)
inline

Definition at line 98 of file export_channel.h.

◆ common_port_playback_latency()

samplecnt_t ARDOUR::PortExportChannel::common_port_playback_latency ( ) const
virtual

Reimplemented from ARDOUR::ExportChannel.

◆ empty()

bool ARDOUR::PortExportChannel::empty ( ) const
inlinevirtual

Implements ARDOUR::ExportChannel.

Definition at line 89 of file export_channel.h.

◆ get_ports()

PortSet const& ARDOUR::PortExportChannel::get_ports ( ) const
inline

Definition at line 99 of file export_channel.h.

◆ get_state()

void ARDOUR::PortExportChannel::get_state ( XMLNode node) const
virtual

Adds state to node passed.

Implements ARDOUR::ExportChannel.

◆ operator<()

bool ARDOUR::PortExportChannel::operator< ( ExportChannel const &  other) const
virtual

Implements ARDOUR::ExportChannel.

◆ prepare_export()

void ARDOUR::PortExportChannel::prepare_export ( samplecnt_t  max_samples,
sampleoffset_t  common_latency 
)
virtual

Reimplemented from ARDOUR::ExportChannel.

◆ read()

void ARDOUR::PortExportChannel::read ( Buffer const *&  ,
samplecnt_t  samples 
) const
virtual

Implements ARDOUR::ExportChannel.

◆ set_state()

void ARDOUR::PortExportChannel::set_state ( XMLNode node,
Session session 
)
virtual

Sets state from node passed.

Implements ARDOUR::ExportChannel.

◆ state_node_name()

std::string ARDOUR::PortExportChannel::state_node_name ( ) const
inlinevirtual

Implements ARDOUR::ExportChannel.

Definition at line 91 of file export_channel.h.

Member Data Documentation

◆ _buf

AudioBuffer ARDOUR::PortExportChannel::_buf
mutableprivate

Definition at line 105 of file export_channel.h.

◆ _buffer

std::unique_ptr<Sample[]> ARDOUR::PortExportChannel::_buffer
private

Definition at line 104 of file export_channel.h.

◆ _buffer_size

samplecnt_t ARDOUR::PortExportChannel::_buffer_size
private

Definition at line 103 of file export_channel.h.

◆ _delaylines

std::list<std::shared_ptr<PBD::RingBuffer<Sample> > > ARDOUR::PortExportChannel::_delaylines
private

Definition at line 106 of file export_channel.h.

◆ ports

PortSet ARDOUR::PortExportChannel::ports
private

Definition at line 102 of file export_channel.h.


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