summaryrefslogtreecommitdiff
path: root/libs/ardour/audioregion.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-06-02 12:08:02 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-02 12:09:04 -0400
commit88aaf587adbf29e89eee5bbeaa821dbc9947ff51 (patch)
tree1dfd10aaf8240292bcb52cd1a7e7081ad9375b81 /libs/ardour/audioregion.cc
parent970612552634c23ae7761fa7882ea619cb284cc6 (diff)
AudioRegion::read_peaks() should return 0 or the number of peaks read, not the number of samples
Diffstat (limited to 'libs/ardour/audioregion.cc')
-rw-r--r--libs/ardour/audioregion.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc
index 61d8952e52..8113b261f9 100644
--- a/libs/ardour/audioregion.cc
+++ b/libs/ardour/audioregion.cc
@@ -426,15 +426,16 @@ AudioRegion::read_peaks (PeakData *buf, framecnt_t npeaks, framecnt_t offset, fr
if (audio_source(chan_n)->read_peaks (buf, npeaks, offset, cnt, frames_per_pixel)) {
return 0;
- } else {
- if (_scale_amplitude != 1.0f) {
- for (framecnt_t n = 0; n < npeaks; ++n) {
- buf[n].max *= _scale_amplitude;
- buf[n].min *= _scale_amplitude;
- }
+ }
+
+ if (_scale_amplitude != 1.0f) {
+ for (framecnt_t n = 0; n < npeaks; ++n) {
+ buf[n].max *= _scale_amplitude;
+ buf[n].min *= _scale_amplitude;
}
- return cnt;
}
+
+ return npeaks;
}
/** @param buf Buffer to write data to (existing data will be overwritten).