13
0

save/restore I/O latency values in audio/midi setup

This commit is contained in:
Paul Davis 2013-09-06 16:43:02 -04:00
parent 4729bbde5f
commit 0467231d6e
2 changed files with 14 additions and 8 deletions

View File

@ -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;

View File

@ -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) {};