Ardour
9.0-pre0-582-g084a23a80d
|
#include <io.h>
Classes | |
class | BoolCombiner |
struct | UserBundleInfo |
Public Types | |
enum | Direction { Input , Output } |
Public Member Functions | |
IO (Session &, const std::string &name, Direction, DataType default_type=DataType::AUDIO, bool sendish=false) | |
IO (Session &, const XMLNode &, DataType default_type=DataType::AUDIO, bool sendish=false) | |
virtual | ~IO () |
Direction | direction () const |
DataType | default_type () const |
void | set_default_type (DataType t) |
bool | active () const |
void | set_active (bool yn) |
bool | set_name (const std::string &str) |
void | set_pretty_name (const std::string &str) |
std::string | pretty_name () const |
void | set_audio_channel_names (std::vector< std::string > const &acn) |
virtual void | silence (samplecnt_t) |
int | ensure_io (ChanCount cnt, bool clear, void *src) |
int | connect_ports_to_bundle (std::shared_ptr< Bundle >, bool exclusive, void *) |
int | connect_ports_to_bundle (std::shared_ptr< Bundle >, bool, bool, void *) |
int | disconnect_ports_from_bundle (std::shared_ptr< Bundle >, void *) |
BundleList | bundles_connected () |
std::shared_ptr< Bundle > | bundle () |
bool | can_add_port (DataType) const |
int | add_port (std::string connection, void *src, DataType type=DataType::NIL) |
int | remove_port (std::shared_ptr< Port >, void *src) |
int | connect (std::shared_ptr< Port > our_port, std::string other_port, void *src) |
int | disconnect (std::shared_ptr< Port > our_port, std::string other_port, void *src) |
int | disconnect (void *src) |
bool | connected_to (std::shared_ptr< const IO >) const |
bool | connected_to (const std::string &) const |
bool | connected () const |
bool | physically_connected () const |
bool | has_ext_connection () const |
samplecnt_t | latency () const |
samplecnt_t | connected_latency (bool for_playback) const |
void | set_private_port_latencies (samplecnt_t value, bool playback) |
void | set_public_port_latencies (samplecnt_t value, bool playback) const |
void | set_public_port_latency_from_connections () const |
std::shared_ptr< PortSet > | ports () |
std::shared_ptr< PortSet const > | ports () const |
bool | has_port (std::shared_ptr< Port >) const |
std::shared_ptr< Port > | nth (uint32_t n) const |
std::shared_ptr< Port > | port_by_name (const std::string &str) const |
std::shared_ptr< AudioPort > | audio (uint32_t n) const |
std::shared_ptr< MidiPort > | midi (uint32_t n) const |
const ChanCount & | n_ports () const |
XMLNode & | get_state () const |
int | set_state (const XMLNode &, int version) |
int | set_state_2X (const XMLNode &, int, bool) |
void | collect_input (BufferSet &bufs, pframes_t nframes, ChanCount offset) |
void | copy_to_outputs (BufferSet &bufs, DataType type, pframes_t nframes, samplecnt_t offset) |
void | flush_buffers (pframes_t nframes) |
int | set_ports (const std::string &str) |
Public Member Functions inherited from ARDOUR::SessionObject | |
SessionObject (Session &session, const std::string &name) | |
Session & | session () const |
std::string | name () const |
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 | |
ScopedConnectionList & | operator= (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 OwnedPropertyList & | properties () const |
void | add_property (PropertyBase &s) |
void | add_extra_xml (XMLNode &) |
XMLNode * | extra_xml (const std::string &str, bool add_if_missing=false) |
void | save_extra_xml (const XMLNode &) |
const PBD::ID & | id () const |
bool | set_id (const XMLNode &) |
void | set_id (const std::string &) |
void | reset_id () |
void | clear_changes () |
virtual void | clear_owned_changes () |
PropertyList * | get_changes_as_properties (PBD::Command *) const |
virtual void | rdiff (std::vector< PBD::Command * > &) const |
bool | changed () const |
virtual PropertyList * | property_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 | prepare_for_reset (XMLNode &, const std::string &) |
static std::string | name_from_state (const XMLNode &) |
static void | set_name_in_state (XMLNode &, const std::string &) |
Static Public Member Functions inherited from ARDOUR::SessionObject | |
static void | make_property_quarks () |
Public Attributes | |
PBD::Signal< void(IOChange, void *)> | changed |
PBD::SignalWithCombiner< BoolCombiner, bool(ChanCount)> | PortCountChanging |
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 |
Static Public Attributes | |
static const std::string | state_node_name |
static PBD::Signal< void(ChanCount)> | PortCountChanged |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version |
static int | loading_state_version |
Protected Member Functions | |
virtual XMLNode & | state () const |
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) |
XMLNode * | instant_xml (const std::string &str, const std::string &directory_path) |
void | add_properties (XMLNode &) const |
PropertyChange | set_values (XMLNode const &) |
virtual void | post_set (const PropertyChange &) |
virtual void | send_change (const PropertyChange &) |
virtual void | mid_thaw (const PropertyChange &) |
bool | regenerate_xml_or_string_ids () const |
Protected Attributes | |
Direction | _direction |
DataType | _default_type |
bool | _active |
bool | _sendish |
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 |
Private Member Functions | |
void | reestablish_port_subscriptions () |
int | ensure_ports (ChanCount, bool clear, void *src) |
void | bundle_changed (Bundle::Change) |
int | set_port_state_2X (const XMLNode &node, int version, bool in) |
int | get_port_counts (const XMLNode &node, int version, ChanCount &n, std::shared_ptr< Bundle > &c) |
int | get_port_counts_2X (const XMLNode &node, int version, ChanCount &n, std::shared_ptr< Bundle > &c) |
int | create_ports (const XMLNode &, int version) |
std::shared_ptr< Bundle > | find_possible_bundle (const std::string &desired_name) |
int | ensure_ports_locked (ChanCount, bool clear, bool &changed) |
std::string | build_legal_port_name (std::shared_ptr< PortSet const >, DataType type) |
int32_t | find_port_hole (std::shared_ptr< PortSet const >, const char *base) |
void | setup_bundle () |
std::string | bundle_channel_name (uint32_t, uint32_t, DataType) const |
void | apply_pretty_name () |
void | connection_change (std::shared_ptr< ARDOUR::Port >, std::shared_ptr< ARDOUR::Port >) |
Static Private Member Functions | |
static int | parse_io_string (const std::string &, std::vector< std::string > &chns) |
static int | parse_gain_string (const std::string &, std::vector< std::string > &chns) |
Private Attributes | |
SerializedRCUManager< PortSet > | _ports |
PBD::ScopedConnectionList | _port_connections |
std::shared_ptr< Bundle > | _bundle |
a bundle representing our ports More... | |
std::vector< std::string > | _audio_channel_names |
std::string | _pretty_name_prefix |
BufferSet | _buffers |
A collection of ports (all input or all output) with connections.
An IO can contain ports of varying types, making routes/inserts/etc with varied combinations of types (eg MIDI and audio) possible.
ARDOUR::IO::IO | ( | Session & | , |
const std::string & | name, | ||
Direction | , | ||
DataType | default_type = DataType::AUDIO , |
||
bool | sendish = false |
||
) |
ARDOUR::IO::IO | ( | Session & | , |
const XMLNode & | , | ||
DataType | default_type = DataType::AUDIO , |
||
bool | sendish = false |
||
) |
|
virtual |
int ARDOUR::IO::add_port | ( | std::string | connection, |
void * | src, | ||
DataType | type = DataType::NIL |
||
) |
|
private |
std::shared_ptr<AudioPort> ARDOUR::IO::audio | ( | uint32_t | n | ) | const |
|
private |
|
private |
|
private |
BundleList ARDOUR::IO::bundles_connected | ( | ) |
bool ARDOUR::IO::can_add_port | ( | DataType | ) | const |
int ARDOUR::IO::connect | ( | std::shared_ptr< Port > | our_port, |
std::string | other_port, | ||
void * | src | ||
) |
int ARDOUR::IO::connect_ports_to_bundle | ( | std::shared_ptr< Bundle > | , |
bool | exclusive, | ||
void * | |||
) |
int ARDOUR::IO::connect_ports_to_bundle | ( | std::shared_ptr< Bundle > | , |
bool | , | ||
bool | , | ||
void * | |||
) |
bool ARDOUR::IO::connected | ( | ) | const |
samplecnt_t ARDOUR::IO::connected_latency | ( | bool | for_playback | ) | const |
bool ARDOUR::IO::connected_to | ( | const std::string & | ) | const |
bool ARDOUR::IO::connected_to | ( | std::shared_ptr< const IO > | ) | const |
|
private |
void ARDOUR::IO::copy_to_outputs | ( | BufferSet & | bufs, |
DataType | type, | ||
pframes_t | nframes, | ||
samplecnt_t | offset | ||
) |
|
private |
int ARDOUR::IO::disconnect | ( | std::shared_ptr< Port > | our_port, |
std::string | other_port, | ||
void * | src | ||
) |
int ARDOUR::IO::disconnect | ( | void * | src | ) |
int ARDOUR::IO::disconnect_ports_from_bundle | ( | std::shared_ptr< Bundle > | , |
void * | |||
) |
int ARDOUR::IO::ensure_io | ( | ChanCount | cnt, |
bool | clear, | ||
void * | src | ||
) |
|
private |
|
private |
|
private |
|
private |
void ARDOUR::IO::flush_buffers | ( | pframes_t | nframes | ) |
|
private |
|
private |
|
virtual |
Implements PBD::Stateful.
bool ARDOUR::IO::has_ext_connection | ( | ) | const |
bool ARDOUR::IO::has_port | ( | std::shared_ptr< Port > | ) | const |
samplecnt_t ARDOUR::IO::latency | ( | ) | const |
std::shared_ptr<MidiPort> ARDOUR::IO::midi | ( | uint32_t | n | ) | const |
const ChanCount& ARDOUR::IO::n_ports | ( | ) | const |
|
static |
std::shared_ptr<Port> ARDOUR::IO::nth | ( | uint32_t | n | ) | const |
|
staticprivate |
|
staticprivate |
bool ARDOUR::IO::physically_connected | ( | ) | const |
std::shared_ptr<Port> ARDOUR::IO::port_by_name | ( | const std::string & | str | ) | const |
std::shared_ptr<PortSet> ARDOUR::IO::ports | ( | ) |
std::shared_ptr<PortSet const> ARDOUR::IO::ports | ( | ) | const |
|
static |
|
private |
int ARDOUR::IO::remove_port | ( | std::shared_ptr< Port > | , |
void * | src | ||
) |
|
inline |
|
virtual |
Reimplemented from ARDOUR::SessionObject.
|
static |
|
private |
int ARDOUR::IO::set_ports | ( | const std::string & | str | ) |
void ARDOUR::IO::set_pretty_name | ( | const std::string & | str | ) |
void ARDOUR::IO::set_private_port_latencies | ( | samplecnt_t | value, |
bool | playback | ||
) |
void ARDOUR::IO::set_public_port_latencies | ( | samplecnt_t | value, |
bool | playback | ||
) | const |
void ARDOUR::IO::set_public_port_latency_from_connections | ( | ) | const |
|
virtual |
Implements PBD::Stateful.
int ARDOUR::IO::set_state_2X | ( | const XMLNode & | , |
int | , | ||
bool | |||
) |
|
private |
|
virtual |
|
protectedvirtual |
|
private |
|
private |
|
private |
|
private |
PBD::Signal<void(IOChange, void *)> ARDOUR::IO::changed |
|
static |
PBD::SignalWithCombiner<BoolCombiner, bool(ChanCount)> ARDOUR::IO::PortCountChanging |