summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-10-06 14:40:51 +0200
committerRobin Gareus <robin@gareus.org>2015-10-06 14:40:51 +0200
commit8431d102b90b224431123f95b82995e2c758a0b7 (patch)
tree5d8e19d91827bebeaf8f34abac566a5b6795023b
parentb1609b53bd38508068a847a0e05ac0fc7100bbc8 (diff)
Do not restore engine state if we don't have control
When connecting to already running jack, display jack's buffersize correctly.
-rw-r--r--gtk2_ardour/engine_dialog.cc12
1 files changed, 12 insertions, 0 deletions
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");