summaryrefslogtreecommitdiff
path: root/src/lib/audio_analysis.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-11-18 17:07:07 +0000
committerCarl Hetherington <cth@carlh.net>2015-11-18 20:52:20 +0000
commit419afb743ad2aaf1ea301356ac09f9a26ee15567 (patch)
treea90a3776b0919871750c173c2bb753321ddf7282 /src/lib/audio_analysis.h
parente07926b8b0d3d93c2b670aea4b49230170a3532b (diff)
Basic (untested) ebur128 (#368).
Diffstat (limited to 'src/lib/audio_analysis.h')
-rw-r--r--src/lib/audio_analysis.h46
1 files changed, 37 insertions, 9 deletions
diff --git a/src/lib/audio_analysis.h b/src/lib/audio_analysis.h
index 0d06e5973..959453496 100644
--- a/src/lib/audio_analysis.h
+++ b/src/lib/audio_analysis.h
@@ -40,21 +40,46 @@ 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;
+
+ void set_sample_peak (float peak, DCPTime time) {
+ _sample_peak = peak;
+ _sample_peak_time = time;
+ }
+
+ void set_true_peak (float peak) {
+ _true_peak = peak;
+ }
+
+ void set_integrated_loudness (float l) {
+ _integrated_loudness = l;
+ }
+
+ void set_loudness_range (float r) {
+ _loudness_range = r;
}
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<float> sample_peak () const {
+ return _sample_peak;
+ }
+
+ boost::optional<DCPTime> sample_peak_time () const {
+ return _sample_peak_time;
+ }
+
+ boost::optional<float> true_peak () const {
+ return _true_peak;
+ }
+
+ boost::optional<float> integrated_loudness () const {
+ return _integrated_loudness;
}
- boost::optional<DCPTime> peak_time () const {
- return _peak_time;
+ boost::optional<float> loudness_range () const {
+ return _loudness_range;
}
boost::optional<double> analysis_gain () const {
@@ -71,8 +96,11 @@ public:
private:
std::vector<std::vector<AudioPoint> > _data;
- boost::optional<float> _peak;
- boost::optional<DCPTime> _peak_time;
+ boost::optional<float> _sample_peak;
+ boost::optional<DCPTime> _sample_peak_time;
+ boost::optional<float> _true_peak;
+ boost::optional<float> _integrated_loudness;
+ boost::optional<float> _loudness_range;
/** If this analysis was run on a single piece of
* content we store its gain in dB when the analysis
* happened.