Add option to analyse audio automatically when content is added (#673).
[dcpomatic.git] / src / lib / analyse_audio_job.h
index 1794ab3dcae1b4f6f8755de341f761d237ead5bf..d9b90ec668acc5c0ad090ad6139fe7c9efa4f6a9 100644 (file)
  */
 
 #include "job.h"
-#include "audio_analysis.h"
+#include "audio_point.h"
 #include "types.h"
 
 class AudioBuffers;
+class AudioAnalysis;
+class Playlist;
+class AudioPoint;
 
 /** @class AnalyseAudioJob
  *  @brief A job to analyse the audio of a film and make a note of its
@@ -37,18 +40,25 @@ class AudioBuffers;
 class AnalyseAudioJob : public Job
 {
 public:
-       AnalyseAudioJob (boost::shared_ptr<const Film>);
+       AnalyseAudioJob (boost::shared_ptr<const Film>, boost::shared_ptr<const Playlist>);
+       ~AnalyseAudioJob ();
 
        std::string name () const;
        std::string json_name () const;
        void run ();
 
+       boost::shared_ptr<const Playlist> playlist () const {
+               return _playlist;
+       }
+
 private:
        void analyse (boost::shared_ptr<const AudioBuffers>);
 
+       boost::shared_ptr<const Playlist> _playlist;
+
        int64_t _done;
        int64_t _samples_per_point;
-       std::vector<AudioPoint> _current;
+       AudioPoint* _current;
 
        float _overall_peak;
        Frame _overall_peak_frame;
@@ -57,4 +67,3 @@ private:
 
        static const int _num_points;
 };
-