Mercurial > hg > webaudioevaluationtool
changeset 2500:32366178b6a8
Fix for #147 and #13
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Tue, 20 Sep 2016 17:55:56 +0100 |
parents | 54782e20bc62 |
children | 23c390902378 |
files | js/core.js |
diffstat | 1 files changed, 10 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/js/core.js Tue Sep 20 17:34:27 2016 +0100 +++ b/js/core.js Tue Sep 20 17:55:56 2016 +0100 @@ -1700,7 +1700,9 @@ // Extract the audio and zero-pad for (var ao of this.audioObjects) { var lengthDiff = length - ao.buffer.buffer.length; - ao.buffer = ao.buffer.copyBuffer(0, samplesToSeconds(lengthDiff, ao.buffer.buffer.sampleRate)); + if (lengthDiff > 0) { + ao.buffer.buffer = ao.buffer.copyBuffer(0, samplesToSeconds(lengthDiff, ao.buffer.buffer.sampleRate)); + } } }; @@ -1766,16 +1768,14 @@ var startTime = this.specification.startTime; var stopTime = this.specification.stopTime; var copybuffer = new callee.constructor(); - if (isFinite(startTime) || isFinite(stopTime)) { - copybuffer.buffer = callee.cropBuffer(startTime, stopTime); + + copybuffer.buffer = callee.cropBuffer(startTime || 0, stopTime || callee.buffer.duration); + if (preSilenceTime != 0 || postSilenceTime != 0) { + copybuffer.buffer = copybuffer.copyBuffer(preSilenceTime, postSilenceTime); } - if (preSilenceTime != 0 || postSilenceTime != 0) { - if (copybuffer.buffer == undefined) { - copybuffer.buffer = callee.copyBuffer(preSilenceTime, postSilenceTime); - } else { - copybuffer.buffer = copybuffer.copyBuffer(preSilenceTime, postSilenceTime); - } - } + + copybuffer.lufs = callee.buffer.lufs; + this.buffer = copybuffer; var targetLUFS = this.specification.parent.loudness || specification.loudness; if (typeof targetLUFS === "number" && isFinite(targetLUFS)) {