{"version":3,"file":"anim_hwave_fresh.min.js","sources":["../src/anim_hwave_fresh.js"],"sourcesContent":["/* jshint ignore:start */\r\ndefine(['jquery', 'core/log'], function ($, log) {\r\n\r\n    \"use strict\"; // jshint ;_;\r\n\r\n    log.debug('anim_horizontal_wave: initialising');\r\n\r\n    return {\r\n\r\n        analyser: null,\r\n        cvs: null,\r\n        cvsctx: null,\r\n        drawparams: {\r\n            wavColor: '#6DDC6F',\r\n            barColor: '#ad2323',\r\n            shadowOffsetX: 0,\r\n            shadowOffsetY: 0,\r\n            shadowBlur: 10,\r\n            shadowColor: '#fff',\r\n            font: '18px Arial',\r\n            textAlign: \"center\",\r\n            textBaseline: 'middle'\r\n        },\r\n\r\n\r\n        //for making multiple instances\r\n        clone: function () {\r\n            return $.extend(true, {}, this);\r\n        },\r\n\r\n\r\n        //init\r\n        init: function (analyser, cvs) {\r\n            this.cvs = cvs;\r\n            this.cvsctx = cvs.getContext(\"2d\");\r\n            this.analyser = analyser;\r\n            this.clear();\r\n        },\r\n\r\n        setDrawParam: function (paramkey, paramvalue) {\r\n            this.drawparams[paramkey] = paramvalue;\r\n        },\r\n\r\n        clear: function () {\r\n            this.cvsctx.clearRect(0, 0, this.cvs.width, this.cvs.height);\r\n            this.cvsctx.lineWidth = 2;\r\n            this.cvsctx.strokeStyle = this.drawparams.wavColor;\r\n            this.cvsctx.beginPath();\r\n            this.cvsctx.moveTo(0, this.cvs.height / 2);\r\n            this.cvsctx.lineTo(this.cvs.width, this.cvs.height / 2);\r\n            this.cvsctx.stroke();\r\n        },\r\n\r\n        start: function () {\r\n            this.analyser.core.fftSize = 2048;\r\n            var bufferLength = this.analyser.core.fftSize;\r\n            var dataArray = new Uint8Array(bufferLength);\r\n            var cwidth = this.cvs.width;\r\n            var cheight = this.cvs.height;\r\n            var canvasCtx = this.cvsctx;\r\n            var analyser = this.analyser;\r\n            this.clear();\r\n            var that = this;\r\n\r\n            var draw = function () {\r\n\r\n                var drawVisual = requestAnimationFrame(draw);\r\n\r\n                //cancel out if the theinterval is null\r\n                if (!analyser.theinterval) {\r\n                    return;\r\n                }\r\n\r\n                analyser.core.getByteTimeDomainData(dataArray);\r\n\r\n                //filling is rubbish, we just clear it\r\n                //canvasCtx.fillStyle = 'rgb(200, 200, 200)';\r\n                //canvasCtx.fillRect(0, 0, cwidth, cheight);\r\n                canvasCtx.clearRect(0, 0, cwidth, cheight);\r\n\r\n                canvasCtx.lineWidth = 2;\r\n                canvasCtx.strokeStyle = that.drawparams.wavColor;\r\n\r\n                canvasCtx.beginPath();\r\n\r\n                var sliceWidth = cwidth * 1.0 / bufferLength;\r\n                var x = 0;\r\n\r\n                for (var i = 0; i < bufferLength; i++) {\r\n\r\n                    var v = dataArray[i] / 128.0;\r\n                    var y = v * cheight / 2;\r\n\r\n                    if (i === 0) {\r\n                        canvasCtx.moveTo(x, y);\r\n                    } else {\r\n                        canvasCtx.lineTo(x, y);\r\n                    }\r\n\r\n                    x += sliceWidth;\r\n                }\r\n\r\n                canvasCtx.lineTo(cwidth, cheight / 2);\r\n                canvasCtx.stroke();\r\n            };\r\n\r\n            draw();\r\n        }//END OF START\r\n    };//end of returned object\r\n});//total end\r\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,wCAAO,CAAC,SAAU,aAAa,SAAUC,EAAGC,YAIxCA,IAAIC,MAAM,sCAEH,CAEHC,SAAU,KACVC,IAAK,KACLC,OAAQ,KACRC,WAAY,CACRC,SAAU,UACVC,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"}