{"version":3,"file":"anim_fbars.min.js","sources":["../src/anim_fbars.js"],"sourcesContent":["/* jshint ignore:start */\ndefine(['jquery', 'core/log'], function ($, log) {\n\n    \"use strict\"; // jshint ;_;\n\n    log.debug('anim_freq bars: initialising');\n\n    return {\n\n        analyser: null,\n        cvs: null,\n        cvsctx: null,\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        },\n\n        clear: function () {\n            this.cvsctx.clearRect(0, 0, this.cvs.width, this.cvs.height);\n        },\n\n        start: function () {\n            this.analyser.core.fftSize = 256;\n            var bufferLength = this.analyser.core.frequencyBinCount;\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\n            var draw = function () {\n                //this sets up the loop\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.getByteFrequencyData(dataArray);\n\n                //filling is rubbish, we just clear it\n                //canvasCtx.fillStyle = 'rgb(0, 0, 0)';\n                //canvasCtx.fillRect(0, 0, cwidth, cheight);\n                canvasCtx.clearRect(0, 0, cwidth, cheight);\n\n                var barWidth = (cwidth / bufferLength) * 2.5;\n                var barHeight;\n                var x = 0;\n\n                for (var i = 0; i < bufferLength; i++) {\n                    barHeight = dataArray[i];\n\n                    canvasCtx.fillStyle = 'rgb(' + (barHeight + 100) + ',50,50)';\n                    canvasCtx.fillRect(x, cheight - barHeight / 2, barWidth, barHeight / 2);\n\n                    x += barWidth + 1;\n                }\n            };\n\n            draw();\n        }//END OF START\n    };//end of returned object\n});//total end\n"],"names":["define","$","log","debug","analyser","cvs","cvsctx","clone","extend","this","init","getContext","clear","clearRect","width","height","start","core","fftSize","bufferLength","frequencyBinCount","dataArray","Uint8Array","cwidth","cheight","canvasCtx","draw","requestAnimationFrame","theinterval","getByteFrequencyData","barHeight","barWidth","x","i","fillStyle","fillRect"],"mappings":"AACAA,kCAAO,CAAC,SAAU,aAAa,SAAUC,EAAGC,YAIxCA,IAAIC,MAAM,gCAEH,CAEHC,SAAU,KACVC,IAAK,KACLC,OAAQ,KAGRC,MAAO,kBACIN,EAAEO,QAAO,EAAM,GAAIC,OAK9BC,KAAM,SAAUN,SAAUC,UACjBA,IAAMA,SACNC,OAASD,IAAIM,WAAW,WACxBP,SAAWA,UAGpBQ,MAAO,gBACEN,OAAOO,UAAU,EAAG,EAAGJ,KAAKJ,IAAIS,MAAOL,KAAKJ,IAAIU,SAGzDC,MAAO,gBACEZ,SAASa,KAAKC,QAAU,QACzBC,aAAeV,KAAKL,SAASa,KAAKG,kBAClCC,UAAY,IAAIC,WAAWH,cAC3BI,OAASd,KAAKJ,IAAIS,MAClBU,QAAUf,KAAKJ,IAAIU,OACnBU,UAAYhB,KAAKH,OACjBF,SAAWK,KAAKL,cACfQ,YAEDc,KAAO,WAEUC,sBAAsBD,SAGlCtB,SAASwB,aAIdxB,SAASa,KAAKY,qBAAqBR,WAKnCI,UAAUZ,UAAU,EAAG,EAAGU,OAAQC,iBAG9BM,UADAC,SAAYR,OAASJ,aAAgB,IAErCa,EAAI,EAECC,EAAI,EAAGA,EAAId,aAAcc,IAC9BH,UAAYT,UAAUY,GAEtBR,UAAUS,UAAY,QAAUJ,UAAY,KAAO,UACnDL,UAAUU,SAASH,EAAGR,QAAUM,UAAY,EAAGC,SAAUD,UAAY,GAErEE,GAAKD,SAAW,IAIxBL"}