From adc2c756e61fb0051b53c39fe78d115493d81a47 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 20 Jul 2017 16:45:14 +0200 Subject: Allow adding tracks w/o running backend --- libs/ardour/port.cc | 4 +++- libs/ardour/route.cc | 4 ---- libs/ardour/session.cc | 3 +++ 3 files changed, 6 insertions(+), 5 deletions(-) (limited to 'libs/ardour') 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 (); } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index acd5149e3b..22d9713486 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -926,10 +926,6 @@ Route::add_processors (const ProcessorList& others, boost::shared_ptr loc = _processors.end (); } - if (!AudioEngine::instance()->connected()) { - return 1; - } - if (others.empty()) { return 0; } diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 0463794d84..04c8770a78 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -6826,6 +6826,9 @@ Session::update_latency (bool playback) if ((_state_of_the_state & (InitialConnecting|Deletion)) || _adding_routes_in_progress || _route_deletion_in_progress) { return; } + if (!_engine.running()) { + return; + } boost::shared_ptr r = routes.reader (); framecnt_t max_latency = 0; -- cgit v1.2.3