From 0467231d6e9af35d5f8ca5dcb43c3135b805d8fb Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 6 Sep 2013 16:43:02 -0400 Subject: save/restore I/O latency values in audio/midi setup --- gtk2_ardour/engine_dialog.cc | 14 ++++++++++---- gtk2_ardour/engine_dialog.h | 8 ++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index 7a543306e6..22889cf038 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -439,6 +439,8 @@ EngineControl::save_state () state->device = device_combo.get_active_text (); state->buffer_size = buffer_size_combo.get_active_text (); state->sample_rate = sample_rate_combo.get_active_text (); + state->input_latency = (uint32_t) input_latency.get_value(); + state->output_latency = (uint32_t) output_latency.get_value(); if (!existing) { states.push_back (*state); @@ -459,6 +461,8 @@ EngineControl::maybe_set_state () */ reshow_buffer_sizes (false); buffer_size_combo.set_active_text (state->buffer_size); + input_latency.set_value (state->input_latency); + output_latency.set_value (state->output_latency); bs_connection.unblock (); sr_connection.unblock (); } @@ -562,22 +566,22 @@ EngineControl::set_state (const XMLNode& root) if ((prop = grandchild->property ("input-latency")) == 0) { continue; } - state.input_latency = prop->value (); + state.input_latency = atoi (prop->value ()); if ((prop = grandchild->property ("output-latency")) == 0) { continue; } - state.output_latency = prop->value (); + state.output_latency = atoi (prop->value ()); if ((prop = grandchild->property ("input-channels")) == 0) { continue; } - state.input_channels = prop->value (); + state.input_channels = atoi (prop->value ()); if ((prop = grandchild->property ("output-channels")) == 0) { continue; } - state.output_channels = prop->value (); + state.output_channels = atoi (prop->value ()); if ((prop = grandchild->property ("active")) == 0) { continue; @@ -599,6 +603,8 @@ EngineControl::set_state (const XMLNode& root) device_combo.set_active_text ((*i).device); sample_rate_combo.set_active_text ((*i).sample_rate); buffer_size_combo.set_active_text ((*i).buffer_size); + input_latency.set_value ((*i).input_latency); + output_latency.set_value ((*i).output_latency); sr_connection.unblock (); bs_connection.unblock (); break; diff --git a/gtk2_ardour/engine_dialog.h b/gtk2_ardour/engine_dialog.h index 7c9c652f57..534eb6a6a3 100644 --- a/gtk2_ardour/engine_dialog.h +++ b/gtk2_ardour/engine_dialog.h @@ -122,10 +122,10 @@ class EngineControl : public Gtk::VBox { std::string device; std::string sample_rate; std::string buffer_size; - std::string input_latency; - std::string output_latency; - std::string input_channels; - std::string output_channels; + uint32_t input_latency; + uint32_t output_latency; + uint32_t input_channels; + uint32_t output_channels; bool active; State() : active (false) {}; -- cgit v1.2.3