/*
- Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
#include "util.h"
#include "playlist.h"
#include "audio_content.h"
+#include "warnings.h"
#include <dcp/raw_convert.h>
+DCPOMATIC_DISABLE_WARNINGS
#include <libxml++/libxml++.h>
+DCPOMATIC_ENABLE_WARNINGS
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
#include <stdint.h>
using boost::optional;
using boost::dynamic_pointer_cast;
using dcp::raw_convert;
+using namespace dcpomatic;
-int const AudioAnalysis::_current_state_version = 2;
+int const AudioAnalysis::_current_state_version = 3;
AudioAnalysis::AudioAnalysis (int channels)
{
_loudness_range = f.optional_number_child<float> ("LoudnessRange");
_analysis_gain = f.optional_number_child<double> ("AnalysisGain");
+ _samples_per_point = f.number_child<int64_t> ("SamplesPerPoint");
+ _sample_rate = f.number_child<int64_t> ("SampleRate");
+
+ _leqm = f.optional_number_child<double>("Leqm");
}
void
root->add_child("AnalysisGain")->add_child_text (raw_convert<string> (_analysis_gain.get ()));
}
+ root->add_child("SamplesPerPoint")->add_child_text (raw_convert<string> (_samples_per_point));
+ root->add_child("SampleRate")->add_child_text (raw_convert<string> (_sample_rate));
+
+ if (_leqm) {
+ root->add_child("Leqm")->add_child_text(raw_convert<string>(*_leqm));
+ }
+
doc->write_to_file_formatted (filename.string ());
}
pair<AudioAnalysis::PeakTime, int>
AudioAnalysis::overall_sample_peak () const
{
+ DCPOMATIC_ASSERT (!_sample_peak.empty ());
+
optional<PeakTime> pt;
- int c;
+ int c = 0;
for (size_t i = 0; i < _sample_peak.size(); ++i) {
if (!pt || _sample_peak[i].peak > pt->peak) {
return p;
}
+