From: Robin Gareus Date: Tue, 6 Oct 2015 12:40:51 +0000 (+0200) Subject: Do not restore engine state if we don't have control X-Git-Tag: 4.3~89 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=8431d102b90b224431123f95b82995e2c758a0b7;p=ardour.git Do not restore engine state if we don't have control When connecting to already running jack, display jack's buffersize correctly. --- diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index 8e9df2c5c5..5e7d4f5a3e 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -1016,6 +1016,11 @@ EngineControl::backend_changed () */ engine_stopped (); // set "active/inactive" + if (!_have_control) { + // set settings from backend that we do have control over + set_active_text_if_present (buffer_size_combo, bufsize_as_string (backend->buffer_size())); + } + if (!ignore_changes) { maybe_display_saved_state (); } @@ -2015,6 +2020,13 @@ EngineControl::set_current_state (const State& state) // do the right thing backend_combo.set_active_text (state->backend); + if (!ARDOUR::AudioEngine::instance()->setup_required ()) { + backend_changed (); + // we don't have control don't restore state + return true; + } + + if (!state->driver.empty ()) { if (!backend->requires_driver_selection ()) { DEBUG_ECONTROL ("Backend should require driver selection");