grabbing = true;
clip1.clear();
clip2.clear();
+ ui->peak_display_1->reset_base();
+ ui->peak_display_2->reset_base();
ui->peak_display_1->audio_clip_updated();
ui->peak_display_2->audio_clip_updated();
}
ui->peak_display_2->audio_clip_updated();
}
- if (clip1.get_length_seconds() >= 1.0 && clip2.get_length_seconds() >= 1.0) {
+ if (clip1.empty() && clip2.empty()) {
+ // No interesting data yet.
+ return;
+ }
+
+ steady_clock::time_point base;
+ if (!clip1.empty() && !clip2.empty()) {
+ base = max(clip1.get_first_sample(), clip2.get_first_sample());
+ } else if (!clip1.empty()) {
+ base = clip1.get_first_sample();
+ } else {
+ assert(!clip2.empty());
+ base = clip2.get_first_sample();
+ }
+ ui->peak_display_1->set_base(base);
+ ui->peak_display_2->set_base(base);
+
+ if (clip1.get_length_seconds_after_base(base) >= 1.0 &&
+ clip2.get_length_seconds_after_base(base) >= 1.0) {
grabbing = false;
}
}