summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-09-06 16:43:02 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-09-06 16:43:02 -0400
commit0467231d6e9af35d5f8ca5dcb43c3135b805d8fb (patch)
treeaaca84e13f3457f7bef6a5091404b8e42392d670 /gtk2_ardour
parent4729bbde5f5f6833b878155da5a395d5ecd9e565 (diff)
save/restore I/O latency values in audio/midi setup
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/engine_dialog.cc14
-rw-r--r--gtk2_ardour/engine_dialog.h8
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) {};