diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-30 17:48:57 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-30 17:48:57 -0400 |
commit | 5e0c6af4062a2982fb90ad318973ab1d4beed2b9 (patch) | |
tree | 75f33513f650d716fa7b02d2c1289bb8caa6718c /libs/ardour/port_manager.cc | |
parent | a9691abf3b0eaca5e78bea9e8d1cb7ea700e2e1e (diff) |
jack_audiobackend.cc finally compiles
Diffstat (limited to 'libs/ardour/port_manager.cc')
-rw-r--r-- | libs/ardour/port_manager.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libs/ardour/port_manager.cc b/libs/ardour/port_manager.cc index c279cf6d27..1a08849791 100644 --- a/libs/ardour/port_manager.cc +++ b/libs/ardour/port_manager.cc @@ -473,3 +473,42 @@ AudioEngine::disconnect (boost::shared_ptr<Port> port) return port->disconnect_all (); } +int +PortManager::reestablish_ports () +{ + Ports::iterator i; + + boost::shared_ptr<Ports> p = ports.reader (); + + for (i = p->begin(); i != p->end(); ++i) { + if (i->second->reestablish ()) { + break; + } + } + + if (i != p->end()) { + /* failed */ + remove_all_ports (); + return -1; + } + + MIDI::Manager::instance()->reestablish (); + + return 0; +} + +int +PortManager::reconnect_ports () +{ + boost::shared_ptr<Ports> p = ports.reader (); + + /* re-establish connections */ + + for (i = p->begin(); i != p->end(); ++i) { + i->second->reconnect (); + } + + MIDI::Manager::instance()->reconnect (); + + return 0; +} |