ardour
|
#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) |
virtual void | silence (framecnt_t) |
void | increment_port_buffer_offset (pframes_t offset) |
int | ensure_io (ChanCount cnt, bool clear, void *src) |
int | connect_ports_to_bundle (boost::shared_ptr< Bundle >, bool exclusive, void *) |
int | disconnect_ports_from_bundle (boost::shared_ptr< Bundle >, void *) |
BundleList | bundles_connected () |
boost::shared_ptr< Bundle > | bundle () |
int | add_port (std::string connection, void *src, DataType type=DataType::NIL) |
int | remove_port (boost::shared_ptr< Port >, void *src) |
int | connect (boost::shared_ptr< Port > our_port, std::string other_port, void *src) |
int | disconnect (boost::shared_ptr< Port > our_port, std::string other_port, void *src) |
int | disconnect (void *src) |
bool | connected_to (boost::shared_ptr< const IO >) const |
bool | connected_to (const std::string &) const |
bool | connected () const |
bool | physically_connected () const |
framecnt_t | signal_latency () const |
framecnt_t | latency () const |
PortSet & | ports () |
const PortSet & | ports () const |
bool | has_port (boost::shared_ptr< Port >) const |
boost::shared_ptr< Port > | nth (uint32_t n) const |
boost::shared_ptr< Port > | port_by_name (const std::string &str) const |
boost::shared_ptr< AudioPort > | audio (uint32_t n) const |
boost::shared_ptr< MidiPort > | midi (uint32_t n) const |
const ChanCount & | n_ports () const |
virtual XMLNode & | state (bool full) |
XMLNode & | get_state (void) |
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 | process_input (boost::shared_ptr< Processor >, framepos_t start_frame, framepos_t end_frame, pframes_t nframes) |
void | copy_to_outputs (BufferSet &bufs, DataType type, pframes_t nframes, framecnt_t offset) |
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 () | |
virtual | ~ScopedConnectionList () |
void | add_connection (const UnscopedConnection &c) |
void | drop_connections () |
Public Member Functions inherited from PBD::Stateful | |
Stateful () | |
virtual | ~Stateful () |
virtual bool | apply_changes (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 (Command *) const |
virtual void | rdiff (std::vector< 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 | |
Destructible () | |
virtual | ~Destructible () |
void | drop_references () |
Public Member Functions inherited from ARDOUR::Latent | |
Latent () | |
virtual | ~Latent () |
framecnt_t | user_latency () const |
framecnt_t | effective_latency () const |
virtual void | set_user_latency (framecnt_t val) |
Static Public Member Functions | |
static void | prepare_for_reset (XMLNode &, const std::string &) |
static int | disable_connecting () |
static int | enable_connecting () |
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::Signal2< void, IOChange, void * > | changed |
PBD::Signal1< bool, ChanCount, BoolCombiner > | PortCountChanging |
XMLNode * | pending_state_node |
int | pending_state_node_version |
bool | pending_state_node_in |
Public Attributes inherited from PBD::Stateful | |
PBD::Signal1< void, const PropertyChange & > | PropertyChanged |
Public Attributes inherited from PBD::Destructible | |
PBD::Signal0< void > | Destroyed |
PBD::Signal0< void > | DropReferences |
Static Public Attributes | |
static const std::string | state_node_name = "IO" |
static PBD::Signal1< void, ChanCount > | PortCountChanged |
static PBD::Signal0< int > | ConnectingLegal |
static bool | connecting_legal = false |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version = 0 |
static int | loading_state_version = 0 |
Protected Attributes | |
PortSet | _ports |
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 |
Protected Attributes inherited from ARDOUR::Latent | |
framecnt_t | _user_latency |
Private Member Functions | |
int | connecting_became_legal () |
int | ensure_ports (ChanCount, bool clear, void *src) |
void | check_bundles_connected () |
void | bundle_changed (Bundle::Change) |
int | get_port_counts (const XMLNode &node, int version, ChanCount &n, boost::shared_ptr< Bundle > &c) |
int | get_port_counts_2X (const XMLNode &node, int version, ChanCount &n, boost::shared_ptr< Bundle > &c) |
int | create_ports (const XMLNode &, int version) |
int | make_connections (const XMLNode &, int, bool) |
int | make_connections_2X (const XMLNode &, int, bool) |
boost::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 (DataType type) |
int32_t | find_port_hole (const char *base) |
void | setup_bundle () |
std::string | bundle_channel_name (uint32_t, uint32_t, DataType) const |
void | disconnect_check (boost::shared_ptr< ARDOUR::Port >, boost::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 | |
Glib::Threads::Mutex | io_lock |
PBD::ScopedConnection | connection_legal_c |
boost::shared_ptr< Bundle > | _bundle |
a bundle representing our ports More... | |
std::vector< UserBundleInfo * > | _bundles_connected |
user bundles connected to our ports More... | |
BufferSet | _buffers |
Additional Inherited Members | |
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 &) |
PropertyChange | set_values (XMLNode const &) |
virtual void | post_set (const PropertyChange &) |
virtual void | send_change (const PropertyChange &) |
virtual void | mid_thaw (const PropertyChange &) |
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 |
||
) |
IO::IO | ( | Session & | s, |
const XMLNode & | node, | ||
DataType | default_type = DataType::AUDIO , |
||
bool | sendish = false |
||
) |
int IO::add_port | ( | std::string | connection, |
void * | src, | ||
DataType | type = DataType::NIL |
||
) |
boost::shared_ptr< AudioPort > IO::audio | ( | uint32_t | n | ) | const |
|
inline |
|
private |
|
private |
BundleList IO::bundles_connected | ( | ) |
|
private |
int IO::connect | ( | boost::shared_ptr< Port > | our_port, |
std::string | other_port, | ||
void * | src | ||
) |
int IO::connect_ports_to_bundle | ( | boost::shared_ptr< Bundle > | c, |
bool | exclusive, | ||
void * | src | ||
) |
bool IO::connected_to | ( | boost::shared_ptr< const IO > | other | ) | const |
bool ARDOUR::IO::connected_to | ( | const std::string & | ) | const |
void IO::copy_to_outputs | ( | BufferSet & | bufs, |
DataType | type, | ||
pframes_t | nframes, | ||
framecnt_t | offset | ||
) |
|
private |
int ARDOUR::IO::disconnect | ( | boost::shared_ptr< Port > | our_port, |
std::string | other_port, | ||
void * | src | ||
) |
|
private |
int IO::disconnect_ports_from_bundle | ( | boost::shared_ptr< Bundle > | c, |
void * | src | ||
) |
int IO::ensure_io | ( | ChanCount | count, |
bool | clear, | ||
void * | src | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
virtual |
Implements PBD::Stateful.
bool IO::has_port | ( | boost::shared_ptr< Port > | p | ) | const |
framecnt_t IO::latency | ( | ) | const |
|
private |
|
private |
boost::shared_ptr< MidiPort > IO::midi | ( | uint32_t | n | ) | const |
|
inline |
|
staticprivate |
|
staticprivate |
boost::shared_ptr< Port > IO::port_by_name | ( | const std::string & | str | ) | const |
|
static |
void IO::process_input | ( | boost::shared_ptr< Processor > | proc, |
framepos_t | start_frame, | ||
framepos_t | end_frame, | ||
pframes_t | nframes | ||
) |
int IO::remove_port | ( | boost::shared_ptr< Port > | port, |
void * | src | ||
) |
|
virtual |
Reimplemented from ARDOUR::SessionObject.
|
static |
|
virtual |
Implements PBD::Stateful.
int IO::set_state_2X | ( | const XMLNode & | node, |
int | version, | ||
bool | in | ||
) |
|
private |
|
inlinevirtual |
Implements ARDOUR::Latent.
|
virtual |
|
private |
|
private |
|
private |
PBD::Signal1<bool, ChanCount, BoolCombiner> ARDOUR::IO::PortCountChanging |