+
+/** @return Peak across all channels, and the channel number it is on */
+pair<AudioAnalysis::PeakTime, int>
+AudioAnalysis::overall_sample_peak () const
+{
+ DCPOMATIC_ASSERT (!_sample_peak.empty ());
+
+ optional<PeakTime> pt;
+ int c = 0;
+
+ for (size_t i = 0; i < _sample_peak.size(); ++i) {
+ if (!pt || _sample_peak[i].peak > pt->peak) {
+ pt = _sample_peak[i];
+ c = i;
+ }
+ }
+
+ return make_pair (pt.get(), c);
+}
+
+optional<float>
+AudioAnalysis::overall_true_peak () const
+{
+ optional<float> p;
+
+ BOOST_FOREACH (float i, _true_peak) {
+ if (!p || i > *p) {
+ p = i;
+ }
+ }
+
+ return p;
+}
+