projects
/
ardour.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a3ba616
)
optimize peak calculation of silent buffers
author
Robin Gareus
<robin@gareus.org>
Mon, 30 Dec 2013 13:26:09 +0000
(14:26 +0100)
committer
Robin Gareus
<robin@gareus.org>
Mon, 30 Dec 2013 13:26:09 +0000
(14:26 +0100)
libs/ardour/meter.cc
patch
|
blob
|
history
diff --git
a/libs/ardour/meter.cc
b/libs/ardour/meter.cc
index 5310fd747bbf5e0ac0e4bb592122e13c94b61eff..ec736fef69c91cbf50b417ddad19f966e160be09 100644
(file)
--- a/
libs/ardour/meter.cc
+++ b/
libs/ardour/meter.cc
@@
-107,7
+107,11
@@
PeakMeter::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_fr
// Meter audio in to the rest of the peaks
for (uint32_t i = 0; i < n_audio; ++i, ++n) {
// Meter audio in to the rest of the peaks
for (uint32_t i = 0; i < n_audio; ++i, ++n) {
- _peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]);
+ if (bufs.get_audio(i).silent()) {
+ _peak_signal[n] = .0f;
+ } else {
+ _peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]);
+ }
if (_meter_type & (MeterKrms | MeterK20 | MeterK14 | MeterK12)) {
_kmeter[i]->process(bufs.get_audio(i).data(), nframes);
}
if (_meter_type & (MeterKrms | MeterK20 | MeterK14 | MeterK12)) {
_kmeter[i]->process(bufs.get_audio(i).data(), nframes);
}