X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fio.h;h=adad0c753fa1036f1a2e8474530e8b5a2e9d040b;hb=83e05ec0ec236f4dc327935377206966836027eb;hp=2451611b1b6b3a39611e49168f111ffd683c498e;hpb=1b830d59428f51179094f917a09b0acc16f31c8e;p=ardour.git diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h index 2451611b1b..adad0c753f 100644 --- a/libs/ardour/ardour/io.h +++ b/libs/ardour/ardour/io.h @@ -25,7 +25,7 @@ #include #include -#include +#include #include "pbd/fastlog.h" #include "pbd/undo.h" @@ -74,8 +74,8 @@ class IO : public SessionObject, public Latent Output }; - IO (Session&, const std::string& name, Direction, DataType default_type = DataType::AUDIO); - IO (Session&, const XMLNode&, DataType default_type = DataType::AUDIO); + 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(); @@ -94,7 +94,7 @@ class IO : public SessionObject, public Latent int ensure_io (ChanCount cnt, bool clear, void *src); - int connect_ports_to_bundle (boost::shared_ptr, void *); + int connect_ports_to_bundle (boost::shared_ptr, bool exclusive, void *); int disconnect_ports_from_bundle (boost::shared_ptr, void *); BundleList bundles_connected (); @@ -152,7 +152,7 @@ class IO : public SessionObject, public Latent typedef bool result_type; template - bool operator() (Iter first, Iter last) const { + result_type operator() (Iter first, Iter last) const { bool r = false; while (first != last) { if (*first) { @@ -200,13 +200,14 @@ class IO : public SessionObject, public Latent int set_ports (const std::string& str); private: - mutable Glib::Mutex io_lock; + mutable Glib::Threads::Mutex io_lock; protected: PortSet _ports; Direction _direction; DataType _default_type; bool _active; + bool _sendish; private: int connecting_became_legal ();