From 8431d102b90b224431123f95b82995e2c758a0b7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 6 Oct 2015 14:40:51 +0200 Subject: Do not restore engine state if we don't have control When connecting to already running jack, display jack's buffersize correctly. --- gtk2_ardour/engine_dialog.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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"); -- cgit v1.2.3