diff options
author | Robin Gareus <robin@gareus.org> | 2017-07-20 16:45:14 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-07-20 16:45:24 +0200 |
commit | adc2c756e61fb0051b53c39fe78d115493d81a47 (patch) | |
tree | f5791b4f0633dc721fbc5ff2c0209de262fd2947 /libs/ardour/port.cc | |
parent | 40e2f9a68ab15b5accd1cd992c07d906d7d9b637 (diff) |
Allow adding tracks w/o running backend
Diffstat (limited to 'libs/ardour/port.cc')
-rw-r--r-- | libs/ardour/port.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc index e8e6b75529..b3311932af 100644 --- a/libs/ardour/port.cc +++ b/libs/ardour/port.cc @@ -70,7 +70,9 @@ Port::Port (std::string const & n, DataType t, PortFlags f) assert (_name.find_first_of (':') == std::string::npos); - if ((_port_handle = port_engine.register_port (_name, t, _flags)) == 0) { + if (!port_engine.available ()) { + _port_handle = 0; // created during ::reestablish() later + } else if ((_port_handle = port_engine.register_port (_name, t, _flags)) == 0) { cerr << "Failed to register port \"" << _name << "\", reason is unknown from here\n"; throw failed_constructor (); } |