From 2bd3a3fef6833dff22fa0f6f029d6f2bdfbeef83 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 3 Jun 2015 13:46:59 -0400 Subject: when AudioSource::read_peaks() provides start+cnt too close to the end, be sure to reset expected_peaks and scale to match the corrected values --- libs/ardour/audiosource.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc index c856ef4d76..f9dcaf23c5 100644 --- a/libs/ardour/audiosource.cc +++ b/libs/ardour/audiosource.cc @@ -376,6 +376,8 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t cnt = _length - start; read_npeaks = min ((framecnt_t) floor (cnt / samples_per_visual_peak), npeaks); zero_fill = npeaks - read_npeaks; + expected_peaks = (cnt / (double) samples_per_file_peak); + scale = npeaks/expected_peaks; } // cerr << "actual npeaks = " << read_npeaks << " zf = " << zero_fill << endl; -- cgit v1.2.3