# HG changeset patch # User Nicholas Jillings # Date 1474390556 -3600 # Node ID 32366178b6a81eb8b77c051e40fb0305b4bed34c # Parent 54782e20bc62107735f97af0985cb036728f1c4a Fix for #147 and #13 diff -r 54782e20bc62 -r 32366178b6a8 js/core.js --- 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)) {