diff options
author | Robin Gareus <robin@gareus.org> | 2014-06-19 19:42:59 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-06-19 19:44:15 +0200 |
commit | edd9e730ef49bd051fc2d11e4f6ff3df05ce8272 (patch) | |
tree | 8cb5da11639b7dbf4593a2899749968328a20230 /gtk2_ardour/engine_dialog.cc | |
parent | 07759bbbf28e949ed1f7894d843fe0ec9da70b6d (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/engine_dialog.cc')
-rw-r--r-- | gtk2_ardour/engine_dialog.cc | 42 |
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); |