diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/port_manager.h | 1 | ||||
-rw-r--r-- | libs/ardour/port_manager.cc | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/ardour/port_manager.h b/libs/ardour/ardour/port_manager.h index 7cc1125bcc..d04a38076b 100644 --- a/libs/ardour/ardour/port_manager.h +++ b/libs/ardour/ardour/port_manager.h @@ -67,6 +67,7 @@ class LIBARDOUR_API PortManager int connect (const std::string& source, const std::string& destination); int disconnect (const std::string& source, const std::string& destination); int disconnect (boost::shared_ptr<Port>); + int disconnect (std::string const &); int reestablish_ports (); int reconnect_ports (); diff --git a/libs/ardour/port_manager.cc b/libs/ardour/port_manager.cc index febef6aa4f..5c13e7ee18 100644 --- a/libs/ardour/port_manager.cc +++ b/libs/ardour/port_manager.cc @@ -540,6 +540,16 @@ PortManager::disconnect (boost::shared_ptr<Port> port) } int +PortManager::disconnect (std::string const & name) +{ + PortEngine::PortHandle ph = _backend->get_port_by_name (name); + if (ph) { + return _backend->disconnect_all (ph); + } + return -2; +} + +int PortManager::reestablish_ports () { Ports::iterator i; |