45 IOProcessor::IOProcessor (
Session& s,
bool with_input,
bool with_output,
46 const string& proc_name,
const string io_name,
DataType dtype,
bool sendish)
57 _input.reset (
new IO(s, io_name.empty() ? proc_name : io_name,
IO::Input, dtype, sendish));
61 _output.reset (
new IO(s, io_name.empty() ? proc_name : io_name,
IO::Output, dtype, sendish));
146 if (version < 3000) {
156 if ((prop = node.
property (
"own-input")) != 0) {
160 if ((prop = node.
property (
"own-output")) != 0) {
172 for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
174 if ((prop = (*niter)->property (
"name")) != 0) {
176 if ((prop = (*niter)->property (
"direction")) != 0) {
177 if (prop->
value() == instr) {
187 _input->set_state(*io_node, version);
190 if ((prop = node.
property (
"name")) == 0) {
201 for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
202 if ((*niter)->name() ==
"IO") {
204 if ((prop = (*niter)->property (
"name")) != 0) {
206 if ((prop = (*niter)->property (
"direction")) != 0) {
207 if (prop->
value() == outstr) {
218 _output->set_state(*io_node, version);
221 if ((prop = node.
property (
"name")) == 0) {
254 _output->increment_port_buffer_offset (offset);
276 ret =
_input->set_name (name);
280 ret =
_output->set_name (name);
296 _input->disconnect (
this);
virtual ChanCount natural_output_streams() const
XMLNodeList::iterator XMLNodeIterator
IOProcessor(Session &, bool with_input, bool with_output, const std::string &proc_name, const std::string io_name="", ARDOUR::DataType default_type=DataType::AUDIO, bool sendish=false)
const std::string & value() const
static void prepare_for_reset(XMLNode &, const std::string &)
void set_output(boost::shared_ptr< IO >)
const XMLNodeList & children(const std::string &str=std::string()) const
int set_state(const XMLNode &, int version)
boost::shared_ptr< IO > _output
std::list< XMLNode * > XMLNodeList
int set_state(const XMLNode &, int version)
XMLProperty * property(const char *)
bool string_is_affirmative(const std::string &str)
virtual bool set_name(const std::string &str)
bool set_name(const std::string &str)
virtual int set_state_2X(const XMLNode &, int version)
PBD::Property< std::string > _name
void set_input(boost::shared_ptr< IO >)
void silence(framecnt_t nframes)
virtual bool feeds(boost::shared_ptr< Route > other) const
virtual ChanCount natural_input_streams() const
XMLProperty * add_property(const char *name, const std::string &value)
XMLNode & state(bool full_state)
IO(Session &, const std::string &name, Direction, DataType default_type=DataType::AUDIO, bool sendish=false)
void add_child_nocopy(XMLNode &)
boost::shared_ptr< IO > _input
void increment_port_buffer_offset(pframes_t)
boost::shared_ptr< IO > input() const
virtual XMLNode & state(bool full)
static const std::string state_node_name
static void prepare_for_reset(XMLNode &state, const std::string &name)
virtual int set_state_2X(const XMLNode &, int)
XMLNode * child(const char *) const
static const ChanCount ZERO