summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-10-19 23:17:08 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-10-19 23:17:08 -0400
commit72c8ab0103844b22e98db91dcab90eee2ddc9010 (patch)
tree61d1ebbb32049bb51c909d8a16d1f5a09649673c /libs
parentfbf65998c8718420194f80e3b62097707a3fb45b (diff)
add PortManager::disconnect (std::string const&)
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/port_manager.h1
-rw-r--r--libs/ardour/port_manager.cc10
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;