]> git.sesse.net Git - nageru/blobdiff - nageru/audio_clip.h
Make the delay analyzer understand that two sources can have different starting times.
[nageru] / nageru / audio_clip.h
index 71248af99cc5ba1cdef3f5ac081c8f6e00c8682d..693dbbd4aa863e141a4ac619ea24e59d10c23f56 100644 (file)
@@ -15,9 +15,14 @@ class AudioClip
 public:
        void clear();
        void add_audio(const float *samples, size_t num_samples, double sample_rate, std::chrono::steady_clock::time_point frame_time);
-       double get_length_seconds() const;
+       double get_length_seconds() const;  // 0.0 if empty().
+       double get_length_seconds_after_base(std::chrono::steady_clock::time_point base) const;
+       bool empty() const;
 
-       std::unique_ptr<std::pair<float, float>[]> get_min_max_peaks(unsigned width) const;
+       // Only valid if not empty.
+       std::chrono::steady_clock::time_point get_first_sample() const;
+
+       std::unique_ptr<std::pair<float, float>[]> get_min_max_peaks(unsigned width, std::chrono::steady_clock::time_point base) const;
 
 private:
        mutable std::mutex mu;