7fd73c0cf1f723896826c77fec3720c5c404d4e8 from master; tidy audio analysis dialogue...
[dcpomatic.git] / src / lib / audio_analysis.h
index b91a1cf5123d3c43c3a1b40418e279ff273b4630..1872c57ad3c2207060c41d54378305c735492a4c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 #ifndef DCPOMATIC_AUDIO_ANALYSIS_H
 #define DCPOMATIC_AUDIO_ANALYSIS_H
 
-#include <vector>
-#include <list>
+#include "types.h"
 #include <boost/filesystem.hpp>
+#include <boost/optional.hpp>
+#include <vector>
 
 /** @class AudioPoint
  *  @brief A single point of an audio analysis for one portion of one channel.
@@ -70,15 +71,29 @@ public:
        AudioAnalysis (boost::filesystem::path);
 
        void add_point (int c, AudioPoint const & p);
+       void set_peak (float peak, DCPTime time) {
+               _peak = peak;
+               _peak_time = time;
+       }
        
        AudioPoint get_point (int c, int p) const;
        int points (int c) const;
        int channels () const;
 
+       boost::optional<float> peak () const {
+               return _peak;
+       }
+
+       boost::optional<DCPTime> peak_time () const {
+               return _peak_time;
+       }
+
        void write (boost::filesystem::path);
 
 private:
        std::vector<std::vector<AudioPoint> > _data;
+       boost::optional<float> _peak;
+       boost::optional<DCPTime> _peak_time;
 };
 
 #endif