// Only valid if not empty.
std::chrono::steady_clock::time_point get_first_sample() const;
+ struct BestCorrelation {
+ float delay_ms; // Positive values means this clip is delayed compared to the reference.
+ float correlation; // Between -1 and +1 (+1 is a perfect match, -1 is a perfect inversion).
+ };
+ BestCorrelation find_best_correlation(const AudioClip *reference) const;
+
std::unique_ptr<std::pair<float, float>[]> get_min_max_peaks(unsigned width, std::chrono::steady_clock::time_point base) const;
private: