+bool
+StripSilenceDialog::idle_update_progress()
+{
+ if (analysis_progress_max > 0) {
+ // AudioRegion::find_silence() has
+ // itt.progress = (end - pos) / length
+ // not sure if that's intentional, but let's use (1. - val)
+ float rp = std::min(1.f, std::max (0.f, (1.f - _interthread_info.progress)));
+ float p = analysis_progress_cur / (float) analysis_progress_max
+ + rp / (float) analysis_progress_max;
+ update_progress_gui (p);
+ }
+ return !_destroying;