From 50145a93e697ab73a54187fff9d7ff8f8064bd6c Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 12 Feb 2016 12:42:51 +0100 Subject: export analysis: include true-peak positions. --- libs/audiographer/src/general/analyser.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libs/audiographer') diff --git a/libs/audiographer/src/general/analyser.cc b/libs/audiographer/src/general/analyser.cc index 23c85e8a7c..d969095b08 100644 --- a/libs/audiographer/src/general/analyser.cc +++ b/libs/audiographer/src/general/analyser.cc @@ -248,13 +248,21 @@ Analyser::result () } } + const unsigned cmask = _result.n_channels - 1; // [0, 1] for (unsigned int c = 0; c < _channels; ++c) { if (!_dbtp_plugin[c]) { continue; } Vamp::Plugin::FeatureSet features = _dbtp_plugin[c]->getRemainingFeatures (); - if (!features.empty () && features.size () == 1) { + if (!features.empty () && features.size () == 2) { _result.have_dbtp = true; float p = features[0][0].values[0]; if (p > _result.truepeak) { _result.truepeak = p; } + + for (std::vector::const_iterator i = features[1][0].values.begin(); + i != features[1][0].values.end(); ++i) { + const framecnt_t pk = (*i) / _spp; + const unsigned int cc = c & cmask; + _result.truepeakpos[cc].insert (pk); + } } } -- cgit v1.2.3