diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-06 16:43:02 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-06 16:43:02 -0400 |
commit | 0467231d6e9af35d5f8ca5dcb43c3135b805d8fb (patch) | |
tree | aaca84e13f3457f7bef6a5091404b8e42392d670 | |
parent | 4729bbde5f5f6833b878155da5a395d5ecd9e565 (diff) |
save/restore I/O latency values in audio/midi setup
-rw-r--r-- | gtk2_ardour/engine_dialog.cc | 14 | ||||
-rw-r--r-- | 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) {}; |