X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_analysis.cc;h=446fcccef1607323d7851dbffe98114cda5fb841;hb=0ab8cf5b312f36a14f66d4564c6f4b1694ddaae0;hp=022c5935d1a6b305fbdd3fbdd9652b587d3acb0a;hpb=54038beb4437c027e584fc95110f6fd4dbf2207d;p=dcpomatic.git diff --git a/src/lib/audio_analysis.cc b/src/lib/audio_analysis.cc index 022c5935d..446fcccef 100644 --- a/src/lib/audio_analysis.cc +++ b/src/lib/audio_analysis.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2016 Carl Hetherington + Copyright (C) 2012-2018 Carl Hetherington This file is part of DCP-o-matic. @@ -46,8 +46,9 @@ using boost::shared_ptr; 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) { @@ -90,6 +91,10 @@ AudioAnalysis::AudioAnalysis (boost::filesystem::path filename) _loudness_range = f.optional_number_child ("LoudnessRange"); _analysis_gain = f.optional_number_child ("AnalysisGain"); + _samples_per_point = f.number_child ("SamplesPerPoint"); + _sample_rate = f.number_child ("SampleRate"); + + _leqm = f.optional_number_child("Leqm"); } void @@ -156,6 +161,13 @@ AudioAnalysis::write (boost::filesystem::path filename) root->add_child("AnalysisGain")->add_child_text (raw_convert (_analysis_gain.get ())); } + root->add_child("SamplesPerPoint")->add_child_text (raw_convert (_samples_per_point)); + root->add_child("SampleRate")->add_child_text (raw_convert (_sample_rate)); + + if (_leqm) { + root->add_child("Leqm")->add_child_text(raw_convert(*_leqm)); + } + doc->write_to_file_formatted (filename.string ()); } @@ -178,8 +190,10 @@ AudioAnalysis::gain_correction (shared_ptr playlist) pair AudioAnalysis::overall_sample_peak () const { + DCPOMATIC_ASSERT (!_sample_peak.empty ()); + optional pt; - int c; + int c = 0; for (size_t i = 0; i < _sample_peak.size(); ++i) { if (!pt || _sample_peak[i].peak > pt->peak) { @@ -204,3 +218,4 @@ AudioAnalysis::overall_true_peak () const return p; } +