{"version":3,"file":"anim_hwave.min.js","sources":["../src/anim_hwave.js"],"sourcesContent":["/* jshint ignore:start */\ndefine(['jquery', 'core/log'], function ($, log) {\n\n    \"use strict\"; // jshint ;_;\n\n    log.debug('anim_horizontal_wave: initialising');\n\n    return {\n\n        analyser: null,\n        cvs: null,\n        cvsctx: null,\n        drawparams: {\n            wavColor: '#0',\n            barColor: '#ad2323',\n            shadowOffsetX: 0,\n            shadowOffsetY: 0,\n            shadowBlur: 10,\n            shadowColor: '#fff',\n            font: '18px Arial',\n            textAlign: \"center\",\n            textBaseline: 'middle'\n        },\n\n\n        //for making multiple instances\n        clone: function () {\n            return $.extend(true, {}, this);\n        },\n\n\n        //init\n        init: function (analyser, cvs) {\n            this.cvs = cvs;\n            this.cvsctx = cvs.getContext(\"2d\");\n            this.analyser = analyser;\n            this.clear();\n        },\n\n        setDrawParam: function (paramkey, paramvalue) {\n            this.drawparams[paramkey] = paramvalue;\n        },\n\n        clear: function () {\n            this.cvsctx.clearRect(0, 0, this.cvs.width, this.cvs.height);\n            this.cvsctx.lineWidth = 2;\n            this.cvsctx.strokeStyle = this.drawparams.wavColor;\n            this.cvsctx.beginPath();\n            this.cvsctx.moveTo(0, this.cvs.height / 2);\n            this.cvsctx.lineTo(this.cvs.width, this.cvs.height / 2);\n            this.cvsctx.stroke();\n        },\n\n        start: function () {\n            this.analyser.core.fftSize = 2048;\n            var bufferLength = this.analyser.core.fftSize;\n            var dataArray = new Uint8Array(bufferLength);\n            var cwidth = this.cvs.width;\n            var cheight = this.cvs.height;\n            var canvasCtx = this.cvsctx;\n            var analyser = this.analyser;\n            this.clear();\n            var that = this;\n\n            var draw = function () {\n\n                var drawVisual = requestAnimationFrame(draw);\n\n                //cancel out if the theinterval is null\n                if (!analyser.theinterval) {\n                    return;\n                }\n\n                analyser.core.getByteTimeDomainData(dataArray);\n\n                //filling is rubbish, we just clear it\n                //canvasCtx.fillStyle = 'rgb(200, 200, 200)';\n                //canvasCtx.fillRect(0, 0, cwidth, cheight);\n                canvasCtx.clearRect(0, 0, cwidth, cheight);\n\n                canvasCtx.lineWidth = 2;\n                canvasCtx.strokeStyle = that.drawparams.wavColor;\n\n                canvasCtx.beginPath();\n\n                var sliceWidth = cwidth * 1.0 / bufferLength;\n                var x = 0;\n\n                for (var i = 0; i < bufferLength; i++) {\n\n                    var v = dataArray[i] / 128.0;\n                    var y = v * cheight / 2;\n\n                    if (i === 0) {\n                        canvasCtx.moveTo(x, y);\n                    } else {\n                        canvasCtx.lineTo(x, y);\n                    }\n\n                    x += sliceWidth;\n                }\n\n                canvasCtx.lineTo(cwidth, cheight / 2);\n                canvasCtx.stroke();\n            };\n\n            draw();\n        }//END OF START\n    };//end of returned object\n});//total end\n"],"names":["define","$","log","debug","analyser","cvs","cvsctx","drawparams","wavColor","barColor","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","font","textAlign","textBaseline","clone","extend","this","init","getContext","clear","setDrawParam","paramkey","paramvalue","clearRect","width","height","lineWidth","strokeStyle","beginPath","moveTo","lineTo","stroke","start","core","fftSize","bufferLength","dataArray","Uint8Array","cwidth","cheight","canvasCtx","that","draw","requestAnimationFrame","theinterval","getByteTimeDomainData","sliceWidth","x","i","y"],"mappings":"AACAA,kCAAO,CAAC,SAAU,aAAa,SAAUC,EAAGC,YAIxCA,IAAIC,MAAM,sCAEH,CAEHC,SAAU,KACVC,IAAK,KACLC,OAAQ,KACRC,WAAY,CACRC,SAAU,KACVC,SAAU,UACVC,cAAe,EACfC,cAAe,EACfC,WAAY,GACZC,YAAa,OACbC,KAAM,aACNC,UAAW,SACXC,aAAc,UAKlBC,MAAO,kBACIhB,EAAEiB,QAAO,EAAM,GAAIC,OAK9BC,KAAM,SAAUhB,SAAUC,UACjBA,IAAMA,SACNC,OAASD,IAAIgB,WAAW,WACxBjB,SAAWA,cACXkB,SAGTC,aAAc,SAAUC,SAAUC,iBACzBlB,WAAWiB,UAAYC,YAGhCH,MAAO,gBACEhB,OAAOoB,UAAU,EAAG,EAAGP,KAAKd,IAAIsB,MAAOR,KAAKd,IAAIuB,aAChDtB,OAAOuB,UAAY,OACnBvB,OAAOwB,YAAcX,KAAKZ,WAAWC,cACrCF,OAAOyB,iBACPzB,OAAO0B,OAAO,EAAGb,KAAKd,IAAIuB,OAAS,QACnCtB,OAAO2B,OAAOd,KAAKd,IAAIsB,MAAOR,KAAKd,IAAIuB,OAAS,QAChDtB,OAAO4B,UAGhBC,MAAO,gBACE/B,SAASgC,KAAKC,QAAU,SACzBC,aAAenB,KAAKf,SAASgC,KAAKC,QAClCE,UAAY,IAAIC,WAAWF,cAC3BG,OAAStB,KAAKd,IAAIsB,MAClBe,QAAUvB,KAAKd,IAAIuB,OACnBe,UAAYxB,KAAKb,OACjBF,SAAWe,KAAKf,cACfkB,YACDsB,KAAOzB,KAEP0B,KAAO,WAEUC,sBAAsBD,SAGlCzC,SAAS2C,aAId3C,SAASgC,KAAKY,sBAAsBT,WAKpCI,UAAUjB,UAAU,EAAG,EAAGe,OAAQC,SAElCC,UAAUd,UAAY,EACtBc,UAAUb,YAAcc,KAAKrC,WAAWC,SAExCmC,UAAUZ,oBAENkB,WAAsB,EAATR,OAAeH,aAC5BY,EAAI,EAECC,EAAI,EAAGA,EAAIb,aAAca,IAAK,KAG/BC,EADIb,UAAUY,GAAK,IACXT,QAAU,EAEZ,IAANS,EACAR,UAAUX,OAAOkB,EAAGE,GAEpBT,UAAUV,OAAOiB,EAAGE,GAGxBF,GAAKD,WAGTN,UAAUV,OAAOQ,OAAQC,QAAU,GACnCC,UAAUT,WAGdW"}