summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-19 19:42:59 +0200
committerRobin Gareus <robin@gareus.org>2014-06-19 19:44:15 +0200
commitedd9e730ef49bd051fc2d11e4f6ff3df05ce8272 (patch)
tree8cb5da11639b7dbf4593a2899749968328a20230 /gtk2_ardour
parent07759bbbf28e949ed1f7894d843fe0ec9da70b6d (diff)
latency measurement dialog updates:
* distinguish errors: no ports and no engine. * fix "No measurement results yet" message at successful end * stop update callback
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/engine_dialog.cc42
1 files changed, 19 insertions, 23 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 9976208895..dea6f8cb1b 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -531,35 +531,32 @@ EngineControl::enable_latency_tab ()
ARDOUR::AudioEngine::instance()->get_physical_outputs (type, outputs);
ARDOUR::AudioEngine::instance()->get_physical_inputs (type, inputs);
- if (_measure_midi) {
- lm_preamble.set_markup (_(""));
- } else {
- lm_preamble.set_markup (_("<span weight=\"bold\">Turn down the volume on your audio equipment to a very low level.</span>"));
+ if (!ARDOUR::AudioEngine::instance()->running()) {
+ MessageDialog msg (_("Failed to start or connect to audio-engine.\n\nLatency calibration requires a working audio interface."));
+ notebook.set_current_page (0);
+ msg.run ();
+ return;
}
-
- if (inputs.empty() || outputs.empty()) {
+ else if (inputs.empty() || outputs.empty()) {
MessageDialog msg (_("Your selected audio configuration is playback- or capture-only.\n\nLatency calibration requires playback and capture"));
- lm_measure_button.set_sensitive (false);
notebook.set_current_page (0);
msg.run ();
return;
}
- if (!outputs.empty()) {
- set_popdown_strings (lm_output_channel_combo, outputs);
- lm_output_channel_combo.set_active_text (outputs.front());
- lm_output_channel_combo.set_sensitive (true);
+ if (_measure_midi) {
+ lm_preamble.set_markup (_(""));
} else {
- lm_output_channel_combo.set_sensitive (false);
+ lm_preamble.set_markup (_("<span weight=\"bold\">Turn down the volume on your audio equipment to a very low level.</span>"));
}
- if (!inputs.empty()) {
- set_popdown_strings (lm_input_channel_combo, inputs);
- lm_input_channel_combo.set_active_text (inputs.front());
- lm_input_channel_combo.set_sensitive (true);
- } else {
- lm_input_channel_combo.set_sensitive (false);
- }
+ set_popdown_strings (lm_output_channel_combo, outputs);
+ lm_output_channel_combo.set_active_text (outputs.front());
+ lm_output_channel_combo.set_sensitive (true);
+
+ set_popdown_strings (lm_input_channel_combo, inputs);
+ lm_input_channel_combo.set_active_text (inputs.front());
+ lm_input_channel_combo.set_sensitive (true);
lm_measure_button.set_sensitive (true);
}
@@ -1866,9 +1863,10 @@ EngineControl::check_audio_latency_measurement ()
}
if (solid) {
+ have_lm_results = true;
end_latency_detection ();
lm_use_button.set_sensitive (true);
- have_lm_results = true;
+ return false;
}
lm_results.set_markup (string_compose (results_markup, buf));
@@ -1921,9 +1919,9 @@ EngineControl::check_midi_latency_measurement ()
}
if (solid) {
+ have_lm_results = true;
end_latency_detection ();
lm_use_button.set_sensitive (true);
- have_lm_results = true;
return false;
} else if (mididm->processed () > 400) {
have_lm_results = false;
@@ -1973,8 +1971,6 @@ EngineControl::end_latency_detection ()
ARDOUR::AudioEngine::instance()->stop_latency_detection ();
lm_measure_label.set_text (_("Measure"));
if (!have_lm_results) {
- lm_results.set_markup (string_compose (results_markup, _("No measurement results yet")));
- } else {
lm_use_button.set_sensitive (false);
}
lm_input_channel_combo.set_sensitive (true);