/*! * wavesurfer.js 1.2.4 (Sun Jan 29 2017 11:50:51 GMT+0100 (CET)) * https://github.com/katspaugh/wavesurfer.js * @license CC-BY-3.0 */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("WaveSurfer",[],t):"object"==typeof exports?exports.WaveSurfer=t():e.WaveSurfer=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="localhost:8080/dist/",t(t.s=15)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(7);Object.defineProperty(t,"ajax",{enumerable:!0,get:function(){return r(i).default}});var a=n(9);Object.defineProperty(t,"getId",{enumerable:!0,get:function(){return r(a).default}});var s=n(11);Object.defineProperty(t,"max",{enumerable:!0,get:function(){return r(s).default}});var o=n(12);Object.defineProperty(t,"min",{enumerable:!0,get:function(){return r(o).default}});var u=n(1);Object.defineProperty(t,"Observer",{enumerable:!0,get:function(){return r(u).default}});var l=n(8);Object.defineProperty(t,"extend",{enumerable:!0,get:function(){return r(l).default}});var c=n(13);Object.defineProperty(t,"style",{enumerable:!0,get:function(){return r(c).default}});var h=n(10);Object.defineProperty(t,"inherits",{enumerable:!0,get:function(){return r(h).default}});var f=n(14);Object.defineProperty(t,"supportsWebAudio",{enumerable:!0,get:function(){return r(f).default}})},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=0;r--)n[r]==t&&n.splice(r,1);else n.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(e,t){var n=this,r=function r(){for(var i=arguments.length,a=Array(i),s=0;s1?t-1:0),r=1;r=e.getDuration()?(e.setState(y),e.fireEvent("pause")):t>=e.scheduledPause?e.pause():e.state===e.states[p]&&e.fireEvent("audioprocess",t)}}},{key:"removeOnAudioProcess",value:function(){this.scriptNode.onaudioprocess=null}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setVolume",value:function(e){this.gainNode.gain.value=e}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(e,t,n){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac?this.ac.sampleRate:44100)),this.offlineAc.decodeAudioData(e,function(e){return t(e)},n)}},{key:"setPeaks",value:function(e){this.peaks=e}},{key:"setLength",value:function(e){if(!this.mergedPeaks||e!=2*this.mergedPeaks.length-1+2){this.splitPeaks=[],this.mergedPeaks=[];var t=this.buffer?this.buffer.numberOfChannels:1,n=void 0;for(n=0;nd&&(d=v),vthis.mergedPeaks[2*l])&&(this.mergedPeaks[2*l]=d),(0==s||f=this.getDuration()&&(e=0)),null==t&&(t=this.getDuration()),this.startPosition=e,this.lastPlay=this.ac.currentTime,this.state===this.states[y]&&this.setState(v),{start:e,end:t}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(e,t){if(this.buffer){this.createSource();var n=this.seekTo(e,t);e=n.start,t=n.end,this.scheduledPause=t,this.source.start(0,e,t-e),"suspended"==this.ac.state&&this.ac.resume&&this.ac.resume(),this.setState(p),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime(),this.source&&this.source.stop(0),this.setState(v),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"setPlaybackRate",value:function(e){e=e||1,this.isPaused()?this.playbackRate=e:(this.pause(),this.playbackRate=e,this.play())}}]),t}(d.default);m.scriptBufferSize=256,t.default=m,e.exports=t.default},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(){function e(e,t){for(var n=0;nt;)this.removeCanvas();for(n in this.canvases){var r=this.maxCanvasWidth+2*Math.ceil(this.params.pixelRatio/2);n==this.canvases.length-1&&(r=this.width-this.maxCanvasWidth*(this.canvases.length-1)),this.updateDimensions(this.canvases[n],r,this.height),this.clearWaveForEntry(this.canvases[n])}}},{key:"addCanvas",value:function(){var e={},t=this.maxCanvasElementWidth*this.canvases.length;e.wave=this.wrapper.appendChild(this.style(document.createElement("canvas"),{position:"absolute",zIndex:1,left:t+"px",top:0,bottom:0})),e.waveCtx=e.wave.getContext("2d"),this.hasProgressCanvas&&(e.progress=this.progressWave.appendChild(this.style(document.createElement("canvas"),{position:"absolute",left:t+"px",top:0,bottom:0})),e.progressCtx=e.progress.getContext("2d")),this.canvases.push(e)}},{key:"removeCanvas",value:function(){var e=this.canvases.pop();e.wave.parentElement.removeChild(e.wave),this.hasProgressCanvas&&e.progress.parentElement.removeChild(e.progress)}},{key:"updateDimensions",value:function(e,t,n){var r=Math.round(t/this.params.pixelRatio),i=Math.round(this.width/this.params.pixelRatio);e.start=e.waveCtx.canvas.offsetLeft/i||0,e.end=e.start+r/i,e.waveCtx.canvas.width=t,e.waveCtx.canvas.height=n,this.style(e.waveCtx.canvas,{width:r+"px"}),this.style(this.progressWave,{display:"block"}),this.hasProgressCanvas&&(e.progressCtx.canvas.width=t,e.progressCtx.canvas.height=n,this.style(e.progressCtx.canvas,{width:r+"px"}))}},{key:"clearWave",value:function(){var e=void 0;for(e in this.canvases)this.clearWaveForEntry(this.canvases[e])}},{key:"clearWaveForEntry",value:function(e){e.waveCtx.clearRect(0,0,e.waveCtx.canvas.width,e.waveCtx.canvas.height),this.hasProgressCanvas&&e.progressCtx.clearRect(0,0,e.progressCtx.canvas.width,e.progressCtx.canvas.height)}},{key:"drawBars",value:function(e,t,n,r){var i=this;if(e[0]instanceof Array){var a=function(){var t=e;return i.params.splitChannels?(i.setHeight(t.length*i.params.height*i.params.pixelRatio),t.forEach(function(e){t.forEach(function(e,t){return i.drawBars(e,t,n,r)})}),{v:void 0}):void(e=t[0])}();if("object"===("undefined"==typeof a?"undefined":u(a)))return a.v}var s=[].some.call(e,function(e){return e<0}),o=s?2:1,l=this.width,c=this.params.height*this.params.pixelRatio,h=c*t||0,f=c/2,p=e.length/o,v=this.params.barWidth*this.params.pixelRatio,y=Math.max(this.params.pixelRatio,~~(v/2)),m=v+y,g=1;this.params.normalize&&(g=d.max(e));var b=p/l,k=void 0;for(k=n/b;kv?-y:v}this.drawLine(e,p,f,h,n,r),this.fillRect(0,f+h-this.halfPixel,this.width,this.halfPixel)}},{key:"drawLine",value:function(e,t,n,r,i,a){var s=void 0;for(s in this.canvases){var o=this.canvases[s];this.setFillStyles(o),this.drawLineToContext(o,o.waveCtx,e,t,n,r,i,a),this.drawLineToContext(o,o.progressCtx,e,t,n,r,i,a)}}},{key:"drawLineToContext",value:function(e,t,n,r,i,a,s,o){if(t){var u=n.length/2,l=1;this.params.fillParent&&this.width!=u&&(l=this.width/u);var c=Math.round(u*e.start),h=Math.round(u*e.end);if(!(c>o||h=f;v--){var g=n[2*v+1]||0,b=Math.round(g/r*i);t.lineTo((v-c)*l+this.halfPixel,i-b+a)}t.closePath(),t.fill()}}}},{key:"fillRect",value:function(e,t,n,r){var i=Math.floor(e/this.maxCanvasWidth),a=Math.min(Math.ceil((e+n)/this.maxCanvasWidth)+1,this.canvases.length),s=void 0;for(s=i;s=1/0&&(e=this.media.seekable.end(0)),e}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"setPlaybackRate",value:function(e){this.playbackRate=e||1,this.media&&(this.media.playbackRate=this.playbackRate)}},{key:"seekTo",value:function(e){null!=e&&(this.media.currentTime=e),this.clearPlayEnd()}},{key:"play",value:function(e,t){this.seekTo(e),this.media.play(),t&&this.setPlayEnd(t),this.fireEvent("play")}},{key:"pause",value:function(){this.media&&this.media.pause(),this.clearPlayEnd(),this.fireEvent("pause")}},{key:"setPlayEnd",value:function(e){var t=this;this.onPlayEnd=function(n){n>=e&&(t.pause(),t.seekTo(e))},this.on("audioprocess",this.onPlayEnd)}},{key:"clearPlayEnd",value:function(){this.onPlayEnd&&(this.un("audioprocess",this.onPlayEnd),this.onPlayEnd=null)}},{key:"getPeaks",value:function(e,n,r){return this.buffer?l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getPeaks",this).call(this,e,n,r):this.peaks||[]}},{key:"getVolume",value:function(){return this.media.volume}},{key:"setVolume",value:function(e){this.media.volume=e}},{key:"destroy",value:function(){this.pause(),this.unAll(),this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media),this.media=null}}]),t}(h.default));t.default=d,e.exports=t.default},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n1&&(s=1)):s=(n-r.left+this.wrapper.scrollLeft)/this.wrapper.scrollWidth||0,s}},{key:"setupWrapperEvents",value:function(){var e=this;this.wrapper.addEventListener("click",function(t){var n=e.wrapper.offsetHeight-e.wrapper.clientHeight;if(0!=n){var r=e.wrapper.getBoundingClientRect();if(t.clientY>=r.bottom-n)return}e.params.interact&&e.fireEvent("click",t,e.handleEvent(t))}),this.wrapper.addEventListener("scroll",function(t){return e.fireEvent("scroll",t)})}},{key:"drawPeaks",value:function(e,t,n,r){this.setWidth(t),this.params.barWidth?this.drawBars(e,0,n,r):this.drawWave(e,0,n,r)}},{key:"resetScroll",value:function(){null!==this.wrapper&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(e){var t=this.wrapper.scrollWidth*e;this.recenterOnPosition(t,!0)}},{key:"recenterOnPosition",value:function(e,t){var n=this.wrapper.scrollLeft,r=~~(this.wrapper.clientWidth/2),i=this.wrapper.scrollWidth-this.wrapper.clientWidth,a=e-r,s=a-n;if(0!=i){if(!t&&-r<=s&&s=t){if(this.lastPos=n,this.params.scrollParent&&this.params.autoCenter){var r=~~(this.wrapper.scrollWidth*e);this.recenterOnPosition(r)}this.updateProgress(n)}}},{key:"destroy",value:function(){this.unAll(),this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=null)}},{key:"createElements",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawWave",value:function(e,t){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(e){}}]),t}(c.default);t.default=d,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=new s.default,n=new XMLHttpRequest,r=!1;return n.open(e.method||"GET",e.url,!0),n.responseType=e.responseType||"json",n.addEventListener("progress",function(e){t.fireEvent("progress",e),e.lengthComputable&&e.loaded==e.total&&(r=!0)}),n.addEventListener("load",function(e){r||t.fireEvent("progress",e),t.fireEvent("load",e),200==n.status||206==n.status?t.fireEvent("success",n.response,e):t.fireEvent("error",e)}),n.addEventListener("error",function(e){return t.fireEvent("error",e)}),n.send(),t.xhr=n,t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var a=n(1),s=r(a);e.exports=t.default},function(e,t,n){"use strict";function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rt&&(t=e[n])}),t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){"use strict";function r(e){var t=Number(1/0);return Object.keys(e).forEach(function(n){e[n]