Enforce minimum reel length when using REELTYPE_BY_LENGTH.
[dcpomatic.git] / src / lib / audio_analysis.h
index a8ef4fb2d74007e1a984133492b8a841eaa53964..3684db96abdd97bfd48fa3693c3e2b46abcc5ecf 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -37,19 +37,19 @@ class Playlist;
 class AudioAnalysis : public boost::noncopyable
 {
 public:
-       AudioAnalysis (int c);
-       AudioAnalysis (boost::filesystem::path);
+       explicit AudioAnalysis (int c);
+       explicit AudioAnalysis (boost::filesystem::path);
 
        void add_point (int c, AudioPoint const & p);
 
        struct PeakTime {
-               PeakTime (float p, DCPTime t)
+               PeakTime (float p, dcpomatic::DCPTime t)
                        : peak (p)
                        , time (t)
                {}
 
                float peak;
-               DCPTime time;
+               dcpomatic::DCPTime time;
        };
 
        void set_sample_peak (std::vector<PeakTime> peak) {
@@ -100,6 +100,22 @@ public:
                _analysis_gain = gain;
        }
 
+       int64_t samples_per_point () const {
+               return _samples_per_point;
+       }
+
+       void set_samples_per_point (int64_t spp) {
+               _samples_per_point = spp;
+       }
+
+       int sample_rate () const {
+               return _sample_rate;
+       }
+
+       void set_sample_rate (int sr) {
+               _sample_rate = sr;
+       }
+
        void write (boost::filesystem::path);
 
        float gain_correction (boost::shared_ptr<const Playlist> playlist);
@@ -115,6 +131,8 @@ private:
         *  happened.
         */
        boost::optional<double> _analysis_gain;
+       int64_t _samples_per_point;
+       int _sample_rate;
 
        static int const _current_state_version;
 };