-void
-StripSilenceDialog::update_stats (const AudioIntervalResult& res)
-{
- if (res.empty()) {
- return;
- }
-
- max_silence = 0;
- min_silence = max_framepos;
- max_audible = 0;
- min_audible = max_framepos;
-
- AudioIntervalResult::const_iterator cur;
- bool saw_silence = false;
- bool saw_audible = false;
-
- cur = res.begin();
-
- framepos_t start = 0;
- framepos_t end;
- bool in_silence;
-
- if (cur->first == 0) {
- /* initial segment, starting at zero, is silent */
- end = cur->second;
- in_silence = true;
- } else {
- /* initial segment, starting at zero, is audible */
- end = cur->first;
- in_silence = false;
- }
-
- while (cur != res.end()) {
-
- framecnt_t interval_duration;
-
- interval_duration = end - start;
-
- if (in_silence) {
- saw_silence = true;
- cerr << "Silent duration: " << interval_duration << endl;
-
- max_silence = max (max_silence, interval_duration);
- min_silence = min (min_silence, interval_duration);
- } else {
- saw_audible = true;
- cerr << "Audible duration: " << interval_duration << endl;
-
- max_audible = max (max_audible, interval_duration);
- min_audible = min (min_audible, interval_duration);
- }
-
- start = end;
- ++cur;
- end = cur->first;
- in_silence = !in_silence;
- }
-
- if (!saw_silence) {
- min_silence = 0;
- max_silence = 0;
- }
-
- if (!saw_audible) {
- min_audible = 0;
- max_audible = 0;
- }
-
- cerr << "max aud: " << max_audible << " min aud: " << min_audible << " max sil: " << max_silence << " min sil: " << min_silence << endl;
-}
-