forked from mohayonao/timbre
-
Notifications
You must be signed in to change notification settings - Fork 0
/
timbre.min.js
6 lines (6 loc) · 123 KB
/
timbre.min.js
1
2
3
4
5
6
/**
* timbre.js v12.12.12 / JavaScript Library for Objective Sound Programming
*/var timbre=function(a,b){"use strict";var b=function(){return b.fn.init.apply(b,arguments)};b.VERSION="v12.12.12",b.env="",b.platform="",b.samplerate=0,b.channels=2,b.cellsize=128,b.streamsize=1024,b.dacs=[],b.timers=[],b.listeners=[],b.sys=null,b.context={},b.utils={},b._={ev:{},amp:.8,autorun:!0,verbose:!0,workerpath:"",none:new Float32Array(b.cellsize)},Object.defineProperties(b,{amp:{set:function(a){typeof a=="number"&&(b._.amp=a)},get:function(){return b._.amp}},autorun:{set:function(a){b._.autorun=!!a},get:function(){return b._.autorun}},workerpath:{set:function(a){typeof a=="string"&&(b._.workerpath=a)},get:function(){return b._.workerpath}},verbose:{set:function(a){b._.verbose=!!a},get:function(){return b._.verbose}},isOn:{get:function(){return b.sys._.ison}},isOff:{get:function(){return!b.sys._.ison}}}),b.setup=function(a){Object.isFrozen(b)?b._.verbose&&a&&console.warn("timbre is already configured."):(typeof a=="object"&&(typeof a.samplerate=="number"&&(b.samplerate=a.samplerate),typeof a.channels=="number"&&(b.channels=a.channels),typeof a.cellsize=="number"&&(b.cellsize=a.cellsize),typeof a.streamsize=="number"&&(b.cellsize=a.streamsize)),b.sys.setup(),b._.none=new Float32Array(b.cellsize),Object.freeze(b));return b},b.on=function(){b.sys._.ison||(b.setup(),b.sys.on(),b.fn.doEvent(this,"on"));return b},b.off=function(){b.sys._.ison&&(b.sys.off(),b.fn.doEvent(this,"off"));return b},b.addEventListener=function(a,b){if(typeof b=="function"){a[0]==="~"&&(a=a.substr(1),b.rm=!0);var c,d=this._.ev[a];d===undefined&&(this._.ev[a]=d=[]),(c=d.indexOf(b))===-1&&d.push(b)}return this},b.removeEventListener=function(a,b){if(typeof a=="string"&&a!==""){var c,d=this._.ev[a];d!==undefined&&(c=d.indexOf(b))!==-1&&d.splice(c,1)}return this},b.removeAllEventListeners=function(a){typeof a=="string"&&a!==""&&(delete this._.ev[a],delete this["on"+a]);return this},function(){var a=function(){var a=b.fn.valist(arguments);for(var c=0,d=a.length,e=!1;c<d;++c){var f=a[c]._.proto;f._.type===this.type&&this.indexOf(a[c])===-1&&(this.push(a[c]),e=!0)}e&&b._.autorun&&this!==b.listeners&&b.on();return this},c=function(){for(var a=arguments.length,c;a--;)(c=this.indexOf(arguments[a]))!==-1&&this.splice(c,1);b._.autorun&&b.dacs.length===0&&b.timers.length===0&&b.off();return this},d=function(){while(this.length>0)this.pop();b._.autorun&&b.dacs.length===0&&b.timers.length===0&&b.off();return this};for(var e,f=arguments.length;f--;)e=arguments[f],e.append=a,e.remove=c,e.removeAll=d}(b.dacs,b.timers,b.listeners),b.dacs.type=1,b.timers.type=2,b.listeners.type=3,b.fn=function(a){var b={},c=function(){return this},h=function(){};h.objectId=0,h.klasses={_find:function(b){if(typeof h.klasses[b]=="function")return h.klasses[b];b="-"+a.env+"-"+b;if(typeof h.klasses[b]=="function")return h.klasses[b]}},h.PrototypeValue=function(){},a.TimbreBasePrototype=h.prototype={play:function(){var b,c=this._;c.ar&&(c.dac===null?(c.dac=a("dac",this),(b=c.proto._.play)instanceof Function&&b.call(this),a.fn.doEvent(this,"play")):this.dac.args.indexOf(this)===-1&&(c.dac.append(this),(b=c.proto._.play)instanceof Function&&b.call(this),a.fn.doEvent(this,"play")),c.dac.isOff&&c.dac.on());return this},pause:function(){var b,c=this._;c.dac&&c.dac.args.indexOf(this)!==-1&&(c.dac.remove(this),(b=c.proto._.pause)instanceof Function&&b.call(this),a.fn.doEvent(this,"pause"),c.dac.isOn&&c.dac.args.length===0&&c.dac.off());return this},ar:function(){this._.ar=!0;return this},kr:function(){this._.ar=!1;return this},bang:function(){a.fn.doEvent(this,"bang");return this},seq:function(){return this.cell},on:function(){var b;this._.ison=!0,(b=this._.proto._.on)instanceof Function&&b.call(this),a.fn.doEvent(this,"on");return this},off:function(){var b;this._.ison=!1,(b=this._.proto._.off)instanceof Function&&b.call(this),a.fn.doEvent(this,"off");return this},clone:function(b){var c=a(this._.proto._.klassname);a.fn.copyBaseArguments(this,c,b);return c},buddy:function(a,b,c){var d=this._.buddies;typeof a=="string"&&(a=[a]);if(a instanceof Array)for(var e=a.length,f;e--;)typeof (f=a[e])=="string"&&(b===null?delete d[f]:b===undefined?d[f]=[this.args,c]:b instanceof Array?d[f]=[b,c]:b instanceof Function?d[f]=[[b],c]:b instanceof h&&(d[f]=[[b],c]));return this},append:function(){var a;this.args.append.apply(this.args,arguments),(a=this._.proto._.append)instanceof Function&&a.call(this);return this},appendTo:function(a){a.args.append.call(a.args,this);return this},remove:function(){var a;this.args.remove.apply(this.args,arguments),(a=this._.proto._.remove)instanceof Function&&a.call(this);return this},removeFrom:function(a){a.args.remove.call(a.args,this);return this},removeAll:function(){var a;this.args.removeAll.apply(this.args,arguments),(a=this._.proto._.remove)instanceof Function&&a.call(this);return this},set:function(a,b){var c=Object.getOwnPropertyDescriptor;if(typeof a=="string"){var d=this._.proto;while(d!==null){if(c(d,a)!==undefined){this[a]=b;break}d=Object.getPrototypeOf(d)}}else if(typeof a=="object")for(var e in a){var d=this._.proto;while(d!==null){if(c(d,e)!==undefined){this[e]=a[e];break}d=Object.getPrototypeOf(d)}}return this},get:function(a){var b=Object.getOwnPropertyDescriptor,c=this._.proto;while(c!==null){if(b(c,a)!==undefined)return this[a];c=Object.getPrototypeOf(c)}},addEventListener:a.addEventListener,removeEventListener:a.removeEventListener,removeAllEventListeners:a.removeAllEventListeners};var i={isAr:{get:function(){return!!this._.ar}},isKr:{get:function(){return!this._.ar}},isOn:{get:function(){return!!this._.ison}},isOff:{get:function(){return!this._.ison}},isUndefined:{get:function(){return this._.isUndefined}},scalar:{get:function(){a.sys.seq_id!==this.seq_id&&this.seq(a.sys.seq_id);return this.cell[0]}},dac:{set:function(a){a!==this._.dac&&(this._.dac!==null&&this._.dac.remove(this),a!==null?this._.dac=a.append(this):this._.dac=null)},get:function(){return this._.dac}},mul:{set:function(a){typeof a=="number"&&(this._.mul=a)},get:function(){return this._.mul}},add:{set:function(a){typeof a=="number"&&(this._.add=a)},get:function(){return this._.add}}};Object.defineProperties(h.prototype,i),b.init=function(){h.objectId===0&&a.setup();var c,i,j,k,l=Array.prototype.slice.call(arguments),m=l[0];switch(typeof m){case"string":(c=h.klasses._find(m))!==undefined&&(i=new c(l.slice(1)));break;case"number":i=new d([m]);break;case"boolean":i=new e([m]);break;case"function":i=new g(l);break;case"object":m===null?i=new d([0]):b.isTimbreObject(m)?(i=m,j=!0):m instanceof Array&&(i=new f([m]))}i===undefined&&(i=new d([0]),k=!0,a._.verbose&&console.warn("'"+m+"' is not defined."));var n=Object.getPrototypeOf(i);j||(i.seq_id=-1,i.cell||(i.cell=new Float32Array(a.cellsize)),i.args||(i.args=[]),a.fn.arrayset(i.args),i.hasOwnProperty("_")||(i._={}),i._.proto=n,i._.isUndefined=!!k,i._.id=h.objectId++,typeof i._.ev!="object"&&(i._.ev={}),typeof i._.buddies!="object"&&(i._.buddies={}),typeof i._.ar!="boolean"&&(n&&typeof n._=="object"?i._.ar=!!n._.ar:i._.ar=!1),typeof i._.ison!="boolean"&&(i._.ison=!0),typeof i._.mul!="number"&&(i._.mul=1),typeof i._.add!="number"&&(i._.add=0),typeof i._.dac!="object"&&(i._.dac=null)),n._.init instanceof Function&&n._.init.call(i);return i},b.register=function(a,d,e){if(typeof a=="string"){if(d instanceof Function){var f=d.prototype,g=h.prototype,j=new h.PrototypeValue;if(typeof f._=="object")for(var k in f._)j[k]=f._[k];f._=j;if(!(f instanceof h)){for(var k in g)typeof g[k]=="function"&&(f[k]instanceof Function||(f[k]=g[k]));for(var k in i)Object.getOwnPropertyDescriptor(f,k)===undefined&&Object.defineProperty(f,k,i[k])}typeof f.ar!="function"&&b.setPrototypeOf.call(f,"ar-kr");for(var l in f)f.hasOwnProperty(l)&&f[l]instanceof Function&&g[l]===undefined&&(g[l]=c)}e instanceof Function?h.klasses[a]=e:(f._.klassname=a,f._.klass=d,h.klasses[a]=d)}},h.dac={on:function(){var b;this._.ison=!0,a.dacs.append(this),(b=this._.proto._.on)&&b.call(this),a.fn.doEvent(this,"on");return this},off:function(){var b;this._.ison=!1,a.dacs.remove(this),(b=this._.proto._.off)&&b.call(this),a.fn.doEvent(this,"off");return this},play:function(){var b;this._.ison=!0,a.dacs.append(this),(b=this._.proto._.play)&&b.call(this),a.fn.doEvent(this,"play");return this},pause:function(){var b;this._.ison=!1,a.dacs.remove(this),(b=this._.proto._.pause)&&b.call(this),a.fn.doEvent(this,"pause");return this}},h.timer={on:function(){var b;this._.ison=!0,a.timers.append(this),(b=this._.proto._.on)&&b.call(this),a.fn.doEvent(this,"on");return this},off:function(){var b;this._.ison=!1,a.timers.remove(this),(b=this._.proto._.off)&&b.call(this),a.fn.doEvent(this,"off");return this},play:function(){var b;(b=this._.proto._.play)&&b.call(this),a.fn.doEvent(this,"play");return this},pause:function(){var b;(b=this._.proto._.pause)&&b.call(this),a.fn.doEvent(this,"pause");return this}},h.listener={listen:function(c){c===null?(this._.args&&(this.args=this._.args),a.listeners.remove(this)):b.isTimbreObject(c)&&(this._.args=this.args,this.args.removeAll(),this.args.append(c),a.listeners.append(this));return this}},b.setPrototypeOf=function(a){this._||(this._={});switch(a){case"ar-only":case"ar":this.ar=this.kr=c,this._.ar=!0;break;case"kr-only":case"kr":this.ar=this.kr=c,this._.ar=!1;break;case"kr-ar":case"kr->ar":this._.ar=!1;break;case"ar-kr":case"ar->kr":this._.ar=!0;break;case"dac":this.on=h.dac.on,this.off=h.dac.off,this.play=h.dac.play,this.pause=h.dac.pause,this._.type=1;break;case"timer":this.on=h.timer.on,this.off=h.timer.off,this.play=h.timer.play,this.pause=h.timer.pause,this._.type=2;break;case"listener":this.listen=h.listener.listen,this._.type=3}return this},b.valist=function(b){return b instanceof Array?b.map(a):Array.prototype.map.call(b,a)},b.arrayset=function(){var a=function(){var a=b.valist(arguments);for(var c=0,d=a.length;c<d;++c)this.indexOf(a[c])===-1&&this.push(a[c]);return this},c=function(){for(var a=arguments.length,b;a--;)(b=this.indexOf(arguments[a]))!==-1&&this.splice(b,1);return this},d=function(){while(this.length>0)this.pop();return this},e=function(){this.append.apply(this,list);return this};return function(b){var f=[];for(var g=1,h=b.length;g<h;++g){var i=b.indexOf(b[g]);i!==-1&&i<g&&f.push(g)}while(f.length)b.splice(f.pop(),1);b.append=a,b.remove=c,b.removeAll=d,b.extend=e;return b}}();var j=function(a,b,c){var d;for(var e=0,f=b.length;e<f;++e)b[e]instanceof Array?j(a,b[e],c):b[e]instanceof Function?b[e].call():(d=b[e][c||a])instanceof Function&&d.call(b[e])};b.doEvent=function(a,b,c){var d,e;(d=a["on"+b])instanceof Function&&d.apply(a,c);if((e=a._.ev[b])!==undefined)for(var f=0,g=e.length;f<g;++f)d=e[f],d.apply(a,c),d.rm&&a.removeEventListener(b,d);a._.buddies&&(e=a._.buddies[b])!==undefined&&j(b,e[0],e[1])},b.do_event=b.doEvent,b.copyBaseArguments=function(a,b,c){var d,e,f;b._.ar=a._.ar,b._.mul=a._.mul,b._.add=a._.add,b._.ison=a._.ison,d=a.args;if(c)for(e=0,f=d.length;e<f;++e)b.args[e]=d[e].clone(!0);else for(e=0,f=d.length;e<f;++e)b.args[e]=d[e];return b},b.copy_for_clone=b.copyBaseArguments,b.isTimbreObject=function(a){var b;if(a instanceof h)return!0;if(a instanceof Object&&(b=a._)instanceof Object&&(b=b.proto)instanceof Object)return b._ instanceof h.PrototypeValue;return!1},b.getClass=function(a){return h.klasses[a]},b.copyPropertyDescriptors=function(a,b,c){console.warn("timbre.fn.copyPropertyDescriptors is deprecated.");var d,e;for(d=c.length;d--;)e=Object.getOwnPropertyDescriptor(b,c[d]),e!==undefined&&Object.defineProperty(a,c[d],e);return a},b.copyFunctions=function(a,b,c){console.warn("timbre.fn.copyFunctions is deprecated.");var d,e;for(d=c.length;d--;)(e=b[c[d]])instanceof Function&&(a[c[d]]=e);return a},b.sumargsAR=function(a,b,c){var d,e,f,g,h,i;d=a.cell,h=i=d.length;while(h)d[--h]=0,d[--h]=0,d[--h]=0,d[--h]=0,d[--h]=0,d[--h]=0,d[--h]=0,d[--h]=0;for(f=0,g=b.length;f<g;++f){e=b[f].seq(c),h=i;while(h)--h,d[h]+=e[h],--h,d[h]+=e[h],--h,d[h]+=e[h],--h,d[h]+=e[h],--h,d[h]+=e[h],--h,d[h]+=e[h],--h,d[h]+=e[h],--h,d[h]+=e[h]}return d},b.sumargsKR=function(a,b,c){var d=0;for(var e=0,f=b.length;e<f;++e)d+=b[e].seq(c)[0];return d},b.buildPrototype=function(c,d){var e=function(){};e.prototype=a.TimbreBasePrototype;var f=c.prototype=new e;d=d||{};var g=d.base;typeof g=="string"&&(g=[g]),g instanceof Array&&g.forEach(function(a){typeof a=="string"?b.setPrototypeOf.call(this,a):typeof a=="function"&&a.call(f)}.bind(f)),d.properties instanceof Object&&Object.defineProperties(f,d.properties);var h=d.copies;if(h instanceof Array){var i={},j=/^([\w\d]+)\.([\w\d]+)(\(\))?$/;h.forEach(function(b){var c=j.exec(b.trim());if(c!==null){var d=i[c[1]]||(i[c[1]]=a.fn.getClass(c[1]));if(d!==undefined){var e=c[2],b,g=d.prototype;if(c[3]!==undefined)(b=g[e])instanceof Function&&(f[e]=b);else{var b=Object.getOwnPropertyDescriptor(g,e);b!==undefined&&Object.defineProperty(f,e,b)}}}})}return f},b.fix=function(){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];switch(d){case"atom":a.utils.atom.octaveshift=-1}}return a},b._setupTimbre=function(b){switch(a.samplerate){case 8e3:case 11025:case 12e3:case 16e3:case 22050:case 24e3:case 32e3:case 44100:case 48e3:break;default:a.samplerate=b}switch(a.channels){default:a.channels=2}switch(a.cellsize){case 64:case 128:case 256:case 512:break;default:a.cellsize=128}switch(a.streamsize){case 512:case 1024:case 2048:case 4096:case 8192:break;default:a.streamsize=1024}};return b}(b);var c=function(){var a=function(){d.apply(this,arguments)},c=a.prototype,d=function(){this.streamsize=b.streamsize,this.channels=b.channels,this.L=new Float32Array(b.streamsize),this.R=new Float32Array(b.streamsize),this.cell=new Float32Array(b.cellsize),this.seq_id=0,this._={},this._.impl=null,this._.ison=!1,this._.cellsize=b.cellsize};c.bind=function(a){this._.impl=new a(this)},c.setup=function(){this._.impl&&this._.impl.setup(),this.streamsize=b.streamsize,this.channels=b.channels,b.streamsize!==this.L.length&&(this.L=new Float32Array(b.streamsize),this.R=new Float32Array(b.streamsize)),b.cellsize!==this.cell.length&&(this.cell=new Float32Array(b.cellsize),this._.cellsize=b.cellsize),b.samplerate===0&&(b.samplerate=44100)},c.on=function(){this._.impl&&(this._.ison=!0,this._.impl.on())},c.off=function(){this._.impl&&(this._.impl.off(),this._.ison=!1)},c.process=function(){var a,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;a=this.cell,c=this.L,d=this.R,w=b._.amp,e=this.seq_id,m=c.length,q=this._.cellsize,s=this.streamsize/q,t=0;for(l=m;l--;)c[l]=d[l]=0;for(r=s;r--;){++e,h=b.timers.slice(0);for(n=0,o=h.length;n<o;++n)(i=h[n])!==undefined&&i.seq(e);f=b.dacs.slice(0);for(n=0,o=f.length;n<o;++n)if((g=f[n])!==undefined){g.seq(e),u=g.L,v=g.R;for(p=0,l=t;p<q;++p,++l)c[l]+=u[p],d[l]+=v[p]}t=l,j=b.listeners.slice(0);for(n=0,o=j.length;n<o;++n)(k=j[n])!==undefined&&k.seq(e)}for(l=m=c.length;l--;)x=c[l]*w,x<-1?x=-1:1<x&&(x=1),c[l]=x,x=d[l]*w,x<-1?x=-1:1<x&&(x=1),d[l]=x;for(p=q;p--;)a[p]=c[p]+d[p],x=a[p]*w*.5,x<-1?x=-1:1<x&&(x=1),a[p]=x;this.seq_id=e};return a}();b.sys=new c;var d=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-only",properties:{value:{set:function(a){typeof a=="number"&&(this._.value=a,e.call(this))},get:function(){return this._.value}},mul:{set:function(a){typeof a=="number"&&(this._.mul=a,e.call(this))},get:function(){return this._.mul}},add:{set:function(a){typeof a=="number"&&(this._.add=a,e.call(this))},get:function(){return this._.add}}}}),d=function(a){this._={},typeof a[0]=="number"?this._.value=a[0]:this._.value=0},e=function(){var a,b,c,d=this._;a=d.value*d.mul+d.add,b=this.cell;for(c=b.length;c--;)b[c]=a};c._.init=function(){this.value=this._.value},c.clone=function(a){var c=b(this._.value);c._.mul=this._.mul,c._.add=this._.add,e.call(c);return b.fn.copyBaseArguments(this,c,a)};return a}();b.fn.register("number",d);var e=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-only",properties:{value:{set:function(a){this._.value=!!a,e.call(this)},get:function(){return this._.value}},mul:{set:function(a){typeof a=="number"&&(this._.mul=a,e.call(this))},get:function(){return this._.mul}},add:{set:function(a){typeof a=="number"&&(this._.add=a,e.call(this))},get:function(){return this._.mul}}}}),d=function(a){this._={},typeof a[0]=="boolean"?this._.value=a[0]:this._.value=!1},e=function(){var a,b,c,d=this._;a=(d.value?1:0)*d.mul+d.add,b=this.cell;for(c=b.length;c--;)b[c]=a};c._.init=function(){this.value=this._.value},c.clone=function(a){var c=b(this._.value);c._.mul=this._.mul,c._.add=this._.add,e.call(c);return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){this._.value=!this._.value,e.call(this),b.fn.doEvent(this,"bang");return this};return a}();b.fn.register("boolean",e);var f=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-only",properties:{value:{set:function(a){typeof a=="object"&&(a instanceof Array||a.buffer instanceof ArrayBuffer)&&(this._.value=e(a),this._.index=0)},get:function(){return this._.value}},index:{set:function(a){var b=this._;typeof a=="number"&&(a=a|0,a<0&&(a=b.value.length+a),0<=a&&a<b.value.length&&(b.index=a,f.call(this,a)))},get:function(){return this._.index}},repeat:{set:function(a){typeof a=="number"&&(this._.repeat1=a)},get:function(){return this._.repeat1}},mul:{set:function(a){typeof a=="number"&&(this._.mul=a,f.call(this,this._.index))},get:function(){return this._.mul}},add:{set:function(a){typeof a=="number"&&(this._.add=a,f.call(this,this._.index))},get:function(){return this._.add}},isEnded:{get:function(){return this._.status===1}}}}),d=function(a){var b,c,d;this._=d={},c=0,b=[],typeof a[c]=="object"&&a[c]instanceof Array&&(b=a[c++]),d.value=e(b),d.repeat1=Infinity,d.index=-1,d.repeat2=0,d.ended=!1},e=function(a){var c,d,e,f;c=[];for(e=0,f=a.length;e<f;e++)d=a[e],typeof d=="object"&&d instanceof Array?c[e]=b("array",d):c[e]=d;return c},f=function(b){var c,d,e,f=this._;f.index=b,c=f.value[b]||0,c instanceof a&&(c=c.cell[0]),c=c*f.mul+f.add,d=this.cell;for(e=d.length;e--;)d[e]=c};c._.init=function(){this.reset()},c.clone=function(a){var c=b(this._.value);c._.repeat=this._.repeat,b.fn.copyBaseArguments(this,c,a);return c.reset()},c.reset=function(){var a,b=this._;a=b.value,b.index=-1,b.repeat2=0,b.ended=!1,f.call(this,-1);return this},c.bang=function(){var c,d,e=this._;c=e.index,d=e.value;if(d[c]instanceof a&&!d[c]._.ended){d[c].bang();if(d[c]._.ended)return this.bang();f.call(this,c)}else c+=1,c<d.length?(e.index=c,d[c]instanceof a&&d[c].reset().bang(),f.call(this,c)):(++e.repeat2,e.repeat2<e.repeat1?(e.index=c=0,d[0]instanceof a&&d[0].reset().bang(),f.call(this,c),b.fn.doEvent(this,"looped")):(e.ended=!0,b.fn.doEvent(this,"ended")));b.fn.doEvent(this,"bang");return this};return a}();b.fn.register("array",f);var g=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-only",properties:{value:{set:function(a){typeof a=="function"&&(this._.value=a)},get:function(){return this._.value}},args:{set:function(a){typeof a=="object"&&a instanceof Array&&(this._.args=a)},get:function(){return this._.args}}}}),d=function(a){var b,c;this._=c={},b=0,typeof a[b]=="function"?c.value=a[b++]:c.value=null,typeof a[b]=="object"&&a[b]instanceof Array?c.args=a[b++]:c.args=[]};c.clone=function(a){var c=b("function",this._.value,this._.args);return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){var a=this._;a.value!==null&&a.value.apply(this,a.args),b.fn.doEvent(this,"bang");return this};return a}();b.fn.register("function",g);var h=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-only",properties:{scale:{set:function(b){var c=this._;typeof b=="string"&&a.Scales[b]!==undefined?(c.scale=b,c.list=a.Scales[b]):b instanceof Array&&(c.scale="",c.list=b)},get:function(){return this._.scale}},root:{set:function(a){this._.root=b(a)},get:function(){return this._.root}},octave:{set:function(a){typeof a=="number"&&(this._.octave=a)},get:function(){return this._.octave}}}}),d=function(c){var d,e;this._=e={},d=0,typeof c[d]=="string"&&a.Scales[c[d]]!==undefined?e.scale=c[d++]:e.scale="major",e.list=a.Scales[e.scale],typeof c[d]!="undefined"?this.root=c[d++]:this.root=440,e.octave=typeof c[d]=="number"?c[d++]:0,e.scale_value=0,e.prev_value=undefined,e.prev_index=undefined,e.prev_octave=undefined,this.args=c.slice(d).map(b)};c.clone=function(a){var c,d=this._;c=b("scale"),c.scale=d.scale,c._.root=d.root,c._.octave=d.octave;return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a,e=this.args.slice(0),g=b.fn.sumargsKR(this,e,a),g!==c.prev_value?(n=c.list.length,g<0?(h=(n+g%n)%n,m=Math.floor(g/n)):(h=g%n,m=g/n|0),i=h-(h|0),h|=0,i===0?l=c.list[h]:h===c.list.length-1?(j=c.list[h],k=c.list[0]+12,l=(1-i)*j+i*k):(j=c.list[h],k=c.list[h+1],l=(1-i)*j+i*k),c.scale_value=l,c.prev_value=g,c.prev_octave=m):(l=c.scale_value,m=c.prev_octave),m+=c.octave,f=c.root.seq(a)[0],o=f*Math.pow(2,(l+m*12)/12),o=o*c.mul+c.add;for(p=d.length;p--;)d[p]=o}return d},c.getScale=function(b){return a.Scales[b]},c.setScale=function(b,c){c instanceof Array&&(a.Scales[b]=c);return this};return a}();b.fn.register("scale",h),h.Scales={},h.Scales.major=[0,2,4,5,7,9,11],h.Scales.minor=[0,2,3,5,7,8,10],h.Scales.ionian=[0,2,4,5,7,9,11],h.Scales.dorian=[0,2,3,5,7,9,10],h.Scales.phrigian=[0,1,3,5,7,8,10],h.Scales.lydian=[0,2,4,6,7,9,11],h.Scales.mixolydian=[0,2,4,5,7,9,10],h.Scales.aeolian=[0,2,3,5,7,8,10],h.Scales.locrian=[0,1,3,5,6,8,10],h.Scales.wholetone=[0,2,4,6,8,10],h.Scales.chromatic=[0,1,2,3,4,5,6,7,8,9,10,11],h.Scales.ryukyu=[0,4,5,7,11],b.fn.register("major",h,function(a){return new h(["major"].concat(a))}),b.fn.register("minor",h,function(a){return new h(["minor"].concat(a))});var i=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["ar-only","dac"],properties:{dac:{get:function(){return this}},pan:{set:function(a){this._.pan=b(a)},get:function(){return this._.pan}}}}),d=function(a){var c=this._={};this.args=a.map(b),this.pan=.5,this.L=new Float32Array(b.cellsize),this.R=new Float32Array(b.cellsize),c.prev_pan=undefined,c.ison=!1};c._.init=function(){var a,b;b=this.args;for(a=b.length;a--;)b[a].dac=this},c.clone=function(a){var c=b("dac");c._.pan=a?this._.pan.clone(!0):this._.pan;return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o,p;e=this.cell;if(a!==this.seq_id){this.seq_id=a,i=c.pan.seq(a)[0],i!==c.prev_pan&&(c.panL=Math.cos(.5*Math.PI*i),c.panR=Math.sin(.5*Math.PI*i),c.prev_pan=i),f=this.L,g=this.R,h=c.mul,j=c.panL*h,k=c.panR*h,p=b.cellsize;for(o=p;o--;)e[o]=f[o]=g[o]=0;d=this.args.slice(0);for(m=0,n=d.length;m<n;++m)if(d[m]!==undefined){l=d[m].seq(a);for(o=p;o--;)e[o]+=l[o]*h,f[o]+=l[o]*j,g[o]+=l[o]*k}}return e};return a}();b.fn.register("dac",i),b.fn.register("pandac",i,function(a){var b=new i(a.slice(1));b.pan=a[0];return b});var j=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){this.args=a.map(b)};c.clone=function(a){return b.fn.copyBaseArguments(this,b("+"),a)},c.seq=function(a){var c,d=this._,e=this.cell;if(a!==this.seq_id){this.seq_id=a;var f=this.args.slice(0),g=d.mul,h=d.add;if(d.ar){e=b.fn.sumargsAR(this,f,a);for(var i=e.length;i--;)e[i]=e[i]*g+h}else{c=b.fn.sumargsKR(this,f,a),c=c*g+h;for(var i=e.length;i--;)e[i]=c}}return e};return a}();b.fn.register("+",j);var k=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){this.args=a.map(b)};c.seq=function(a){var b=this._,c,d,e,f,g,h=this.cell;if(a!==this.seq_id){this.seq_id=a;var i=this.args.slice(0),j=b.mul,k=b.add;if(i.length>0)if(b.ar){c=i[0].seq(a);for(f=g=h.length;f--;)h[f]=c[f];for(d=1,e=i.length;d<e;++d){c=i[d].seq(a);for(f=g;f--;)h[f]-=c[f]}for(f=g;f--;)h[f]=h[f]*j+k}else{c=i[0].seq(a)[0];for(d=1,e=i.length;d<e;++d)c-=i[d].seq(a)[0];c=c*j+k;for(f=h.length;f--;)h[f]=c}else for(d=h.length;d--;)h[d]=k}return h};return a}();b.fn.register("-",k);var l=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){this.args=a.map(b)};c.clone=function(a){return b.fn.copyBaseArguments(this,b("*"),a)},c.seq=function(a){var c=this._,d,e,f,g,h,i=this.cell;if(a!==this.seq_id){this.seq_id=a;var j=this.args.slice(0),k=c.mul,l=c.add;h=b.cellsize;if(c.ar){for(g=h;g--;)i[g]=k;for(e=0,f=j.length;e<f;++e){d=j[e].seq(a);for(g=h;g--;)i[g]*=d[g]}if(l)for(g=h;g--;)i[g]+=l}else{d=k;for(e=0,f=j.length;e<f;++e)d*=j[e].seq(a)[0];d+=l;for(g=h;g--;)i[g]=d}}return i};return a}();b.fn.register("*",l);var m=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){this.args=a.map(b)};c.seq=function(a){var b=this._,c,d,e,f,g,h,i=this.cell;if(a!==this.seq_id){this.seq_id=a;var j=this.args.slice(0),k=b.mul,l=b.add;if(j.length>0)if(b.ar){c=j[0].seq(a);for(g=h=i.length;g--;)i[g]=c[g];for(e=1,f=j.length;e<f;++e){c=j[e].seq(a);for(g=h;g--;)d=c[g],d===0?i[g]=0:i[g]/=d}for(g=h;g--;)i[g]=i[g]*k+l}else{c=j[0].seq(a)[0];for(e=1,f=j.length;e<f;++e)d=j[e].seq(a)[0],d===0?c=0:c/=d;c=c*k+l;for(g=i.length;g--;)i[g]=c}else for(e=i.length;e--;)i[e]=l}return i};return a}();b.fn.register("/",m);var n=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){this.args=a.map(b)};c.seq=function(a){var b=this._,c,d,e,f,g,h,i=this.cell;if(a!==this.seq_id){this.seq_id=a;var j=this.args.slice(0),k=b.mul,l=b.add;if(j.length>0)if(b.ar){c=j[0].seq(a);for(g=h=i.length;g--;)i[g]=c[g];for(e=1,f=j.length;e<f;++e){c=j[e].seq(a);for(g=h;g--;)d=c[g],d===0?i[g]=0:i[g]%=d}for(g=h;g--;)i[g]=i[g]*k+l}else{c=j[0].seq(a)[0];for(e=1,f=j.length;e<f;++e)d=j[e].seq(a)[0],d===0?c=0:c%=d;c=c*k+l;for(g=i.length;g--;)i[g]=c}else for(e=i.length;e--;)i[e]=l}return i};return a}();b.fn.register("%",n);var o=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{func:{get:function(){return this._.func}}}}),d=function(c){var d,f,g;this._=g={},f=0,typeof c[f]=="string"&&a.Functions[c[f]]!==undefined?d=a.Functions[c[f++]]:d=a.Functions.round,g.func=d.func,this.seq=e[d.args+1],d.args===2?g.arg2=typeof c[f]=="number"?c[f++]:0:d.args===-1&&(g.ar=!1),this.args=c.slice(f).map(b)},e=[];e[0]=function(a){var c=this._,d,e,f,g;if(!c.ison)return b._.none;e=this.cell;if(a!==this.seq_id){this.seq_id=a,f=c.func*c.mul+c.add;for(g=b.cellsize;g--;)e[g]=f}return e},e[1]=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m;if(!c.ison)return b._.none;e=this.cell;if(a!==this.seq_id){this.seq_id=a,f=c.mul,g=c.add,h=c.func,m=b.cellsize;if(c.ar)for(l=m;l--;)e[l]=h()*f+g;else{i=h()*f+g;for(l=m;l--;)e[l]=i}}return e},e[2]=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m;if(!c.ison)return b._.none;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),f=c.mul,g=c.add,h=c.func,m=b.cellsize;if(c.ar){for(l=m;l--;)e[l]=0;for(j=0,k=d.length;j<k;++j){i=d[j].seq(a);for(l=m;l--;)e[l]+=i[l]}for(l=m;l--;)e[l]=h(e[l])*f+g}else{i=0;for(j=0,k=d.length;j<k;++j)i+=d[j].seq(a)[0];i=h(i)*f+g;for(l=m;l--;)e[l]=i}}return e},e[3]=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n;if(!c.ison)return b._.none;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),f=c.mul,g=c.add,h=c.func,i=c.arg2,n=b.cellsize;if(c.ar){for(m=n;m--;)e[m]=0;for(k=0,l=d.length;k<l;++k){j=d[k].seq(a);for(m=n;m--;)e[m]+=j[m]}for(m=n;m--;)e[m]=h(e[m],i)*f+g}else{j=0;for(k=0,l=d.length;k<l;++k)j+=d[k].seq(a)[0];j=h(j,i)*f+g;for(m=n;m--;)e[m]=j}}return e};return a}();b.fn.register("math",o),o.Functions={},o.Functions.PI={func:Math.PI,args:-1},o.Functions.E={func:Math.E,args:-1},o.Functions.LN2={func:Math.LN2,args:-1},o.Functions.LN10={func:Math.LN10,args:-1},o.Functions.LOG2E={func:Math.LOG2E,args:-1},o.Functions.LOG10E={func:Math.LOG10E,args:-1},o.Functions.SQRT2={func:Math.SQRT2,args:-1},o.Functions.SQRT1_2={func:Math.SQRT1_2,args:-1},o.Functions.random={func:Math.random,args:0},o.Functions.sin={func:Math.sin,args:1},o.Functions.cos={func:Math.cos,args:1},o.Functions.tan={func:Math.tan,args:1},o.Functions.asin={func:Math.asin,args:1},o.Functions.acos={func:Math.acos,args:1},o.Functions.atan={func:Math.atan,args:1},o.Functions.ceil={func:Math.ceil,args:1},o.Functions.floor={func:Math.floor,args:1},o.Functions.round={func:Math.round,args:1},o.Functions.abs={func:Math.abs,args:1},o.Functions.sqrt={func:Math.sqrt,args:1},o.Functions.exp={func:Math.exp,args:1},o.Functions.log={func:Math.log,args:1},o.Functions.atan2={func:Math.atan2,args:2},o.Functions.max={func:Math.max,args:2},o.Functions.min={func:Math.min,args:2},o.Functions.pow={func:Math.pow,args:2},function(){for(var a in o.Functions)b.fn.register("math."+a,o,function(a){return function(b){return new o([a].concat(b))}}(a))}();var p=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{wave:{set:function(a){var b,c=this._.wave;if(typeof a=="function")for(var d=0;d<1024;d++)c[d]=a(d/1024);else if(typeof a=="object"&&(a instanceof Array||a.buffer instanceof ArrayBuffer))if(a.length===1024)this._.wave=a;else{b=a.length/1024;for(var d=0;d<1024;d++)c[d]=a[d*b|0]||0}else typeof a=="string"&&(b=this.getWavetable(a))!==undefined&&(this._.wave=b)},get:function(){return this._.wave}},freq:{set:function(a){this._.freq=b(a)},get:function(){return this._.freq}},phase:{set:function(a){if(typeof a=="number"){while(a>=1)a-=1;while(a<0)a+=1;this._.phase=a,this._.x=1024*this._.phase}},get:function(){return this._.phase}}}}),d=function(a){var c=this._={};c.wave=new Float32Array(1024),c.phase=0,c.x=0,c.coeff=1024/b.samplerate;var d=0;this.wave="sin",typeof a[d]=="function"?this.wave=a[d++]:a[d]instanceof Float32Array?this.wave=a[d++]:typeof a[d]=="string"&&(this.wave=a[d++]),a[d]!==undefined?this.freq=a[d++]:this.freq=440,typeof a[d]=="number"&&(c.mul=a[d++]),typeof a[d]=="number"&&(c.add=a[d++])};c.clone=function(a){var c=this._,d=b("osc",c.wave);a?d._.freq=c.freq.clone(!0):d._.freq=c.freq,d._.phase=c.phase;return b.fn.copyBaseArguments(this,d,a)},c.bang=function(){var a=this._;a.x=1024*a.phase,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j;if(!c.ison)return b._.none;var k=this.cell;if(a!==this.seq_id){this.seq_id=a;var l=c.freq.seq(a),m=c.mul,n=c.add,o=c.wave,p=c.x,q=c.coeff;if(c.ar)if(c.freq.isAr)for(i=0,j=k.length;i<j;++i)d=p|0,e=p-d,f=o[d&1023],g=o[d+1&1023],k[i]=((1-e)*f+e*g)*m+n,p+=l[i]*q;else{var r=l[0]*q;for(i=0,j=k.length;i<j;++i)d=p|0,e=p-d,f=o[d&1023],g=o[d+1&1023],k[i]=((1-e)*f+e*g)*m+n,p+=r}else{d=p|0,e=p-d,f=o[d&1023],g=o[d+1&1023],h=((1-e)*f+e*g)*m+n;for(i=j=k.length;i--;)k[i]=h;p+=l[0]*q*j}while(p>1024)p-=1024;c.x=p}return k};var e=function(a,b){var c,d;switch(a){case"@1":for(c=512;c<1024;++c)b[c]=0;break;case"@2":for(c=512;c<1024;++c)b[c]=Math.abs(b[c]);break;case"@3":for(c=256;c<512;++c)b[c]=0;for(c=512;c<768;++c)b[c]=Math.abs(b[c]);for(c=768;c<1024;++c)b[c]=0;break;case"@4":d=new Float32Array(1024);for(c=0;c<512;++c)d[c]=b[c<<1];b=d;break;case"@5":d=new Float32Array(1024);for(c=0;c<512;++c)d[c]=Math.abs(b[c<<1]);b=d}return b},f=function(a,b){if(a!==undefined){a*=.01,a=a<0?0:a>1?1:a;var c=new Float32Array(1024),d=1024*a|0,e=0,f=a>0?.5/a:0,g,h,i,j;for(var k=0;k<1024;++k)g=e|0,h=e-g,i=b[g&1023],j=b[g+1&1023],c[k]=(1-h)*i+h*j,k===d&&(e=512,f=a<1?.5/(1-a):0),e+=f;b=c}return b};c.getWavetable=function(c){var d,g=a.Wavetables[c];if(g!==undefined){g instanceof Function&&(g=g());return g}d=/^([-+]?)(\w+)(?:\((@[0-7])?:?(\d+\.?\d*)?\))?$/.exec(c);if(d!==null){var h=d[1],i=d[2],j=d[3],k=d[4];g=a.Wavetables[i];if(g!==undefined){g=g instanceof Function?g():g,g=e(j,g),g=f(k,g);if(h==="+")for(var l=1024;l--;)g[l]=g[l]*.5+.5;else if(h==="-")for(var l=1024;l--;)g[l]*=-1;return a.Wavetables[c]=g}}d=/^wavb\(((?:[0-9a-fA-F][0-9a-fA-F])+)\)$/.exec(c);if(d!==null){g=b.utils.wavb(d[1]);return a.Wavetables[c]=g}d=/^wavc\(([0-9a-fA-F]{8})\)$/.exec(c);if(d!==null){g=b.utils.wavc(d[1]);return a.Wavetables[c]=g}},c.setWavetable=function(b,c){if(typeof c=="function"){var d=new Float32Array(1024);for(var e=0;e<1024;e++)d[e]=c(e/1024);a.Wavetables[b]=d}else if(typeof c=="object"&&(c instanceof Array||c.buffer instanceof ArrayBuffer))if(c.length===1024)a.Wavetables[b]=c;else{var d=new Float32Array(1024),f=c.length/1024;for(var e=0;e<1024;e++)d[e]=c[e*f|0]||0;a.Wavetables[b]=c}};return a}();b.fn.register("osc",p),p.Wavetables={sin:function(){var a=new Float32Array(1024);for(var b=1024;b--;)a[b]=Math.sin(2*Math.PI*(b/1024));return a},cos:function(){var a=new Float32Array(1024);for(var b=1024;b--;)a[b]=Math.cos(2*Math
.PI*(b/1024));return a},pulse:function(){var a=new Float32Array(1024);for(var b=1024;b--;)a[b]=b<512?1:-1;return a},tri:function(){var a=new Float32Array(1024);for(var b,c=1024;c--;)b=c/1024-.25,a[c]=1-4*Math.abs(Math.round(b)-b);return a},sawup:function(){var a=new Float32Array(1024);for(var b,c=1024;c--;)b=c/1024,a[c]=2*(b-Math.round(b));return a},sawdown:function(){var a=new Float32Array(1024);for(var b,c=1024;c--;)b=c/1024,a[c]=-2*(b-Math.round(b));return a},fami:function(){var a=[0,.125,.25,.375,.5,.625,.75,.875,.875,.75,.625,.5,.375,.25,.125,0,-0.125,-0.25,-0.375,-0.5,-0.625,-0.75,-0.875,-1,-1,-0.875,-0.75,-0.625,-0.5,-0.375,-0.25,-0.125],b=new Float32Array(1024);for(var c=1024;c--;)b[c]=a[c/1024*a.length|0];return b},konami:function(){var a=[-0.625,-0.875,-0.125,.75,.5,.125,.5,.75,.25,-0.125,.5,.875,.625,0,.25,.375,-0.125,-0.75,0,.625,.125,-0.5,-0.375,-0.125,-0.75,-1,-0.625,0,-0.375,-0.875,-0.625,-0.25],b=new Float32Array(1024);for(var c=1024;c--;)b[c]=a[c/1024*a.length|0];return b}},p.Wavetables.saw=p.Wavetables.sawup,b.fn.register("sin",p,function(a){return new p(["sin"].concat(a))}),b.fn.register("cos",p,function(a){return new p(["cos"].concat(a))}),b.fn.register("pulse",p,function(a){return new p(["pulse"].concat(a))}),b.fn.register("tri",p,function(a){return new p(["tri"].concat(a))}),b.fn.register("saw",p,function(a){return new p(["saw"].concat(a))}),b.fn.register("fami",p,function(a){return new p(["fami"].concat(a))}),b.fn.register("konami",p,function(a){return new p(["konami"].concat(a))}),b.fn.register("+sin",p,function(a){return(new p(["+sin"].concat(a))).kr()}),b.fn.register("+cos",p,function(a){return(new p(["+cos"].concat(a))).kr()}),b.fn.register("+pulse",p,function(a){return(new p(["+pulse"].concat(a))).kr()}),b.fn.register("+tri",p,function(a){return(new p(["+tri"].concat(a))).kr()}),b.fn.register("+saw",p,function(a){return(new p(["+saw"].concat(a))).kr()});var q=function(){var a=function(){e.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{func:{set:function(a){typeof a=="function"&&(this._.func=a)},get:function(){return this._.func}},numOfSamples:{set:function(a){typeof a=="number"&&(this._.saved=new Float32Array(a),this._.numOfSamples=a)},get:function(){return this._.numOfSamples}},freq:{set:function(a){this._.freq=b(a)},get:function(){return this._.freq}},phase:{set:function(a){if(typeof a=="number"){while(a>=1)a-=1;while(a<0)a+=1;this._.phase=this._.x=a}},get:function(){return this._.phase}}}}),d=function(a){return a},e=function(a){var c,e,f;this._=f={},e=0,typeof a[e]=="number"&&a[e]>0?f.numOfSamples=a[e++]|0:f.numOfSamples=0,typeof a[e]=="function"?f.func=a[e++]:f.func=d,typeof a[e]!="undefined"?this.freq=a[e++]:this.freq=440,f.saved=new Float32Array(f.numOfSamples),f.index=0,f.phase=f.x=0,f.coeff=1/b.samplerate};c.clone=function(a){var c,d=this._;c=b("func",d.func,null,d.numOfSamples),a?c._.freq=d.freq.clone(!0):c._.freq=d.freq,c._.phase=d.phase;return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){this._.x=this._.phase,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(!c.ison)return b._.none;d=this.cell;if(this.seq_id!==a){this.seq_id=a,e=c.func,f=c.freq.seq(a),g=c.x,h=c.coeff,i=c.mul,j=c.add,k=c.saved,p=c.index,q=k.length;for(n=0,o=d.length;n<o;++n,++p){if(q===0)d[n]=e(g)*i+j;else{if(p>=q){m=e(g,f[n]*h);if(q!==0)for(r=m.length;r--;)k[r]=m[r]||0;p=0}d[n]=k[p]*i+j}g+=f[n]*h;while(g>=1)g-=1}c.index=p,c.x=g}return d};return a}();b.fn.register("func",q);var r=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){var b=this._={},c=0;typeof a[c]=="number"&&(b.mul=a[c++])};c.clone=function(a){return b.fn.copyBaseArguments(this,b("noise"),a)},c.seq=function(a){var c=this._;if(!c.ison)return b._.none;var d=this.cell;if(a!==this.seq_id){this.seq_id=a;var e=c.mul,f=c.add;if(c.ar){var g=Math.random;for(var h=d.length;h--;)d[h]=(g()*2-1)*e+f}else{var i=(Math.random()*2-1)*e+f;for(var h=d.length;h--;)d[h]=i}}return d};return a}();b.fn.register("noise",r);var s=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){var b=this._={};b.b0=0,b.b1=0,b.b2=0;var c=0;typeof a[c]=="number"&&(b.mul=a[c++])};c.clone=function(a){return b.fn.copyBaseArguments(this,b("pink"),a)},c.seq=function(a){var c=this._;if(!c.ison)return b._.none;var d=this.cell;if(a!==this.seq_id){this.seq_id=a;var e=c.b0,f=c.b1,g=c.b2,h=c.mul,i=c.add,j=Math.random;for(var k=d.length;k--;){var l=j()*2-1;e=.99765*e+l*.099046,f=.963*f+l*.2965164,g=.57*g+l*1.0526913,l=e+f+g+l*.1848,d[k]=l*h+i}c.b0=e,c.b1=f,c.b2=g;if(!c.ar)for(k=d.length;k--;)d[k]=d[0]}return d};return a}();b.fn.register("pink",s);var t=function(){var a=function(){e.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{phase:{set:function(a){this._.phase=b(a)},get:function(){return this._.phase}},fb:{set:function(a){typeof a=="number"&&(this._.fb=a)},get:function(){return this._.fb}}},copies:["osc.wave","osc.getWavetable()","osc.setWavetable()"]}),d=b.fn.getClass("osc"),e=function(a){var b=this._={};b.wave=new Float32Array(1024),b.px=0,b.fb=0;var c=0;this.wave="sin",typeof a[c]=="function"?this.wave=a[c++]:a[c]instanceof Float32Array?this.wave=a[c++]:typeof a[c]=="string"&&(this.wave=a[c++]),a[c]!==undefined?this.phase=a[c++]:this.phase=0,typeof a[c]=="number"&&(b.mul=a[c++]),typeof a[c]=="number"&&(b.add=a[c++])};c.clone=function(a){var c=this._,d=T("oscx",c.wave);a?d._.phase=c.phase.clone(!0):d._.phase=c.phase,d._.fb=c.fb;return b.fn.copyBaseArguments(this,d,a)},c.bang=function(){this._.phase.bang(),b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j;if(!c.ison)return b._.none;var k=this.cell;if(a!==this.seq_id){this.seq_id=a;var l=c.phase.seq(a),m=c.fb,n=c.mul,o=c.add,p=c.wave,q=c.px;if(c.ar&&c.phase.isAr){for(i=0,j=b.cellsize;i<j;++i){h=(l[i]+q)*1024;while(h<0)h+=1024;d=h|0,e=h-d,f=p[d&1023],g=p[d+1&1023],h=(1-e)*f+e*g,q=h*m,k[i]=h*n+o}c.px=q}else{h=l[0]*1024;while(h<0)h+=1024;d=h|0,e=h-d,f=p[d&1023],g=p[d+1&1023],h=(1-e)*f+e*g;for(i=j=b.cellsize;i--;)k[i]=h*n+o}}return k};return a}();b.fn.register("oscx",t),b.fn.register("sinx",t,function(a){return new t(["sin"].concat(a))}),b.fn.register("cosx",t,function(a){return new t(["cos"].concat(a))}),b.fn.register("pulsex",t,function(a){return new t(["pulse"].concat(a))}),b.fn.register("trix",t,function(a){return new t(["tri"].concat(a))}),b.fn.register("sawx",t,function(a){return new t(["saw"].concat(a))}),b.fn.register("+sinx",t,function(a){return new t(["+sin"].concat(a))}),b.fn.register("+cosx",t,function(a){return new t(["+cos"].concat(a))}),b.fn.register("+trix",t,function(a){return new t(["+tri"].concat(a))}),b.fn.register("+sawx",t,function(a){return new t(["+saw"].concat(a))});var u=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{freq:{set:function(a){this._.freq=b(a)},get:function(){return this._.freq}},fmul:{set:function(a){typeof a=="number"&&a>=0&&(this._.fmul=a)},get:function(){return this._.fmul}},phase:{set:function(a){if(typeof a=="number"){while(a>=1)a-=1;while(a<0)a+=1;this._.phase=this._.x=a}},get:function(){return this._.phase}}}}),d=function(a){var c,d;this._=d={},c=0,typeof a[c]!="undefined"?this.freq=a[c++]:this.freq=440,d.fmul=typeof a[c]=="number"?a[c++]:1,d.phase=typeof a[c]=="number"?a[c++]:0,d.fmul<0&&(d.fmul=0),this.phase=d.phase,d.x=d.phase,d.coeff=1/b.samplerate};c.clone=function(a){var c,d=this._;c=T("phasor"),a?c._.freq=d.freq.clone(!0):c._.freq=d.freq,c._.fmul=d.fmul,c._.phase=d.phase;return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){this._.x=this._.phase,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a,e=c.freq.seq(a),f=c.mul,g=c.add,h=c.x,j=c.coeff*c.fmul;if(c.ar)if(c.freq.isAr)for(l=0,m=b.cellsize;l<m;++l){d[l]=h*f+g,h+=e[l]*j;while(h>1)h-=1}else{i=e[0]*j;for(l=0,m=b.cellsize;l<m;++l){d[l]=h*f+g,h+=i;while(h>1)h-=1}}else{k=c.x*c.mul+g;for(l=0,m=b.cellsize;l<m;++l)d[l]=k;h+=e[0]*j*m;while(h>1)h-=1}c.x=h}return d};return a}();b.fn.register("phasor",u);var v=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{width:{set:function(a){this._.width=b(a)},get:function(){return this._.width}},freq:{set:function(a){this._.freq=b(a)},get:function(){return this._.freq}}}}),d=function(a){var c=this._={};c.x=0,c.coeff=1/b.samplerate;var d=0;typeof a[d]!="undefined"?this.width=a[d++]:this.width=.5,typeof a[d]!="undefined"?this.freq=a[d++]:this.freq=440,typeof a[d]=="number"&&(c.mul=a[d++]),typeof a[d]=="number"&&(c.add=a[d++])};c.clone=function(a){var c=this._,d=T("pwm");a?(d._.width=c.width.clone(!0),d._.freq=c.freq.clone(!0)):(d._.width=c.width,d._.freq=c.freq);return b.fn.copyBaseArguments(this,d,a)},c.bang=function(){this._.x=0,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._;if(!c.ison)return b._.none;var d=this.cell;if(a!==this.seq_id){this.seq_id=a;var e=c.width.seq(a)[0],f=c.freq.seq(a),g=c.mul,h=c.add,i=c.x,j=c.coeff;if(c.ar)if(c.freq.isAr)for(var k=0,l=b.cellsize;k<l;++k){d[k]=(i<e?1:-1)*g+h,i+=f[k]*j;while(i>1)i-=1}else{var m=f[0]*j;for(var k=0,l=b.cellsize;k<l;++k){d[k]=(i<e?1:-1)*g+h,i+=m;while(i>1)i-=1}}else{var n=(c.x<e?1:-1)*g+h;for(var k=0,l=b.cellsize;k<l;++k)d[k]=n;i+=f[0]*j*l;while(i>1)i-=1}c.x=i}return d};return a}();b.fn.register("pwm",v),b.fn.register("pwm125",v,function(a){return new v([.125].concat(a))}),b.fn.register("pwm25",v,function(a){return new v([.25].concat(a))}),b.fn.register("pwm50",v,function(a){return new v([.5].concat(a))});var w=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{freq:{set:function(a){this._.freq=b(a)},get:function(){return this._.freq}}}}),d=function(a){var b=this._={};b.x=0,b.y=1;var c=0;typeof a[c]!="undefined"?this.freq=a[c++]:this.freq=440,typeof a[c]=="number"&&(b.mul=a[c++])};c.clone=function(a){var c=this._,d=b("8bitnoise");a?d._.freq=c.freq.clone(!0):d._.freq=c.freq;return b.fn.copyBaseArguments(this,d,a)},c.bang=function(){var a=this._;a.x=0,a.y=1,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._;if(!c.ison)return b._.none;var d=this.cell;if(a!==this.seq_id){this.seq_id=a;var e=c.freq.seq(a)[0],f=c.x,g=c.y,h=c.mul,i=c.add,j=e/b.samplerate,k=Math.random;for(var l=0,m=d.length;l<m;++l){if(f>=.25){g=k()*2-1;do f-=.25;while(f>=.25)}d[l]=g*h+i,f+=j}c.x=f,c.y=g;if(!c.ar)for(l=m;l--;)d[l]=d[0]}return d};return a}();b.fn.register("fnoise",w);var x=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-ar",properties:{table:{set:function(b){var c,d,e=this._;typeof b=="string"&&(b==="~"?(d=e.tableName,d.charAt(0)==="~"?d=d.substr(1):d="~"+d):d=b,(c=a.AmpTables[d])!==undefined&&(typeof c=="function"&&(c=c()),e.tableName=d,e.table=c))},get:function(){return this._.tableName}},delay:{set:function(a){typeof a=="number"&&(this._.delay=a)},get:function(){return this._.delay}},reversed:{set:function(a){this._.reversed=!!a},get:function(){return this._.reversed}},currentTime:{get:function(){return this._.currentTime}}}}),d=function(a){var b=this._={};b.changeState=function(){}};c.seq=function(a){var c=this._;if(!c.ison)return b._.none;var d=this.cell;if(a!==this.seq_id){this.seq_id=a,c.changeState.call(this);var e=c.table,f=c.mul,g=c.add,h,i=d.length,j=c.x0;j>.999&&(j=.999);var k=j+c.dx;k>.999&&(k=.999),j=e[j*512|0],k=e[k*512|0],c.reversed&&(j=1-j,k=1-k);if(c.ar){var l=(k-j)/i;for(h=0;h<i;++h)d[h]=j*f+g,j+=l}else{j=j*f+g;for(h=0;h<i;++h)d[h]=j}c.x0+=c.dx,c.samples-=i,c.currentTime+=i*1e3/b.samplerate}return d};return a}();b.fn.register("env",x),x.AmpSize=512,x.AmpTables={},x.AmpTables.linear=function(){var a=new Float32Array(x.AmpSize);for(var b=0,c=a.length;b<c;++b)a[b]=b/(c-1);return a},function(a){a.forEach(function(a){x.AmpTables[a+"db"]=function(){var b=new Float32Array(x.AmpSize),c=Math.pow(10,a*((b.length-1)/b.length)/-20),d=0,e=1/(1-c);for(var f=0,g=b.length;f<g;++f)d=Math.pow(10,a*(f/g)/-20),b[g-f-1]=(d-c)*e;return b},x.AmpTables["~"+a+"db"]=function(){var b=new Float32Array(x.AmpSize),c=Math.pow(10,a*((b.length-1)/b.length)/-20),d=0,e=1/(1-c);for(var f=0,g=b.length;f<g;++f)d=Math.pow(10,a*(f/g)/-20),b[f]=1-(d-c)*e;return b}})}([24,32,48,64,96]);var y=function(){var a=function(){e.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-ar",properties:{status:{get:function(){return d[this._.status+1]}},a:{set:function(a){typeof a=="number"&&(this._.a=a)},get:function(){return this._.a}},d:{set:function(a){typeof a=="number"&&(this._.d=a)},get:function(){return this._.d}},s:{set:function(a){typeof a=="number"&&(this._.s=a)},get:function(){return this._.s}},r:{set:function(a){typeof a=="number"&&(this._.r=a)},get:function(){return this._.r}},al:{set:function(a){typeof a=="number"&&(this._.al=a)},get:function(){return this._.al}},dl:{set:function(a){typeof a=="number"&&(this._.dl=a)},get:function(){return this._.dl}},sl:{set:function(a){typeof a=="number"&&(this._.sl=a)},get:function(){return this._.sl}},rl:{set:function(a){typeof a=="number"&&(this._.rl=a)},get:function(){return this._.rl}}},copies:["env.table","env.delay","env.reversed","env.currentTime","env.seq()"]}),d=["off","delay","a","d","s","r"],e=function(a){var b=this._={};b.a=0,b.d=0,b.s=Infinity,b.r=0,b.al=0,b.dl=1,b.sl=0,b.rl=0,b.delay=0,b.status=-1,b.samples=Infinity,b.x0=0,b.dx=0,b.currentTime=0,b.reversed=!1;var c=0;typeof a[c]=="string"&&(this.table=a[c++]),b.table===undefined&&(this.table="linear");var d=[];while(typeof a[c]=="number")d.push(a[c++]);switch(d.length){case 0:break;case 1:b.d=d[0];break;case 2:b.a=d[0],b.d=d[1];break;case 3:b.a=d[0],b.d=d[1],b.r=d[2];break;case 4:b.a=d[0],b.d=d[1],b.sl=d[2],b.r=d[3];break;case 5:b.delay=d[0],b.a=d[1],b.d=d[2],b.sl=d[3],b.r=d[4];break;case 6:b.delay=d[0],b.a=d[1],b.d=d[2],b.s=d[3],b.r=d[4],b.sl=d[5];break;case 7:b.delay=d[0],b.a=d[1],b.d=d[2],b.s=d[3],b.r=d[4],b.al=d[5],b.sl=d[6],b.rl=d[5];break;case 8:b.delay=d[0],b.a=d[1],b.d=d[2],b.s=d[3],b.r=d[4],b.al=d[5],b.dl=d[6],b.sl=d[7],b.rl=d[5];break;default:b.delay=d[0],b.a=d[1],b.d=d[2],b.s=d[3],b.r=d[4],b.al=d[5],b.dl=d[6],b.sl=d[7],b.rl=d[8]}typeof a[c]=="boolean"&&(b.reversed=a[c++]),typeof a[c]=="function"&&(this.onended=a[c++]),b.changeState=f};c.clone=function(a){var c=this._,d=b("adsr",c.tableName);d._.delay=c.delay,d._.a=c.a,d._.al=c.al,d._.d=c.d,d._.dl=c.dl,d._.s=c.s,d._.sl=c.sl,d._.r=c.r,d._.rl=c.rl,d._.reversed=c.reversed;return b.fn.copyBaseArguments(this,d,a)},c.bang=function(a){var c=this._;c.status=0,c.delay>0?c.delay===Infinity?(c.samples=Infinity,c.dx=0):(c.samples=b.samplerate*(c.delay/1e3)|0,c.dx=b.cellsize*(c.al-c.rl)/c.samples):c.samples=c.dx=0,c.x0=c.rl,c.currentTime=0,b.fn.doEvent(this,"bang");return this},c.keyoff=function(){var a=this._;a.status<=3&&(a.status=4,a.r>0?a.r===Infinity?(a.samples=Infinity,a.dx=0):(a.samples=b.samplerate*a.r/1e3|0,a.dx=-b.cellsize*(a.x0-a.rl)/a.samples):a.samples=a.dx=0,b.fn.doEvent(this,"R"))};var f=function(){var a=this._;while(a.samples<=0){if(a.status===0){a.status=1,a.a>0?a.a===Infinity?(a.samples=Infinity,a.dx=0):(a.samples+=b.samplerate*a.a/1e3|0,a.dx=b.cellsize*(a.dl-a.al)/a.samples):a.samples=a.dx=0,a.x0=a.al,b.fn.doEvent(this,"A");continue}if(a.status===1){a.status=2,a.d>0?a.d===Infinity?(a.samples=Infinity,a.dx=0):(a.samples+=b.samplerate*a.d/1e3|0,a.dx=-b.cellsize*(a.dl-a.sl)/a.samples):a.samples=a.dx=0,a.x0=a.dl,b.fn.doEvent(this,"D");continue}if(a.status===2){if(a.sl===0){a.status=4;continue}a.status=3,a.x0=a.sl,a.s>0?a.s===Infinity?(a.samples=Infinity,a.dx=0):(a.samples+=b.samplerate*a.s/1e3|0,a.dx=-b.cellsize*(a.sl-a.rl)/a.samples):a.samples=a.dx=0,b.fn.doEvent(this,"S");continue}if(a.status<=4){a.status=-1,a.samples=Infinity,a.x0=a.rl,a.dx=0,b.fn.doEvent(this,"ended");continue}}};return a}();b.fn.register("adsr",y),function(){var a=function(){var a=this._;while(a.samples<=0){if(a.status===0){a.status=1,a.a>0?a.a===Infinity?(a.samples=Infinity,a.dx=0):(a.samples+=b.samplerate*a.a/1e3|0,a.dx=b.cellsize*(1-a.al)/a.samples):a.samples=a.dx=0,a.x0=a.al,b.fn.doEvent(this,"A");continue}if(a.status===1){a.status=4,a.r>0?a.r===Infinity?(a.x0=1,a.samples=Infinity,a.dx=0):(a.x0=1,a.samples=b.samplerate*a.r/1e3|0,a.dx=-b.cellsize/a.samples):(a.x0=0,a.samples=0,a.dx=0),b.fn.doEvent(this,"R");continue}if(a.status===4){a.status=-1,a.samples=Infinity,a.x0=a.dx=0,b.fn.doEvent(this,"ended");continue}}};b.fn.register("perc",y,function(b){var c=0,d=[];typeof b[c]=="string"&&d.push(b[c++]);var e=[];while(typeof b[c]=="number")e.push(b[c++]);switch(e.length){case 0:d=d.concat([0,0,0,0,1e3,0,1,0,0]);break;case 1:d=d.concat([0,0,0,0,e[0],0,1,0,0]);break;case 2:d=d.concat([0,e[0],0,0,e[1],0,1,0,0]);break;case 3:d=d.concat([e[0],e[1],0,0,e[2],0,1,0,0]);break;default:d=d.concat([e[0],e[1],0,0,e[2],e[3],1,0,0])}typeof b[c]=="boolean"&&d.push(b[c++]),typeof b[c]=="function"&&d.push(b[c++]);var f=new y(d);f._.changeState=a;return f})}();var z=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{list:{set:function(a){a instanceof Array&&(this._.list=a,e.call(this))},get:function(){return this._.list}}}}),d=function(a){var c=this._={};c.list=[],c.workcell=new Float32Array(b.cellsize),c.stub={seq:function(){return c.workcell}},this.args=a.map(b)},e=function(){var a=this._,b=a.list,c=a.stub;for(var d=b.length;d--;)b[d].args.removeAll().push(c)};c.seq=function(a){var c,d=this._,e=this.cell;if(a!==this.seq_id){this.seq_id=a;var f=this.args.slice(0),g=d.workcell,h=d.list,i=d.mul,j=d.add,k,l;e=b.fn.sumargsAR(this,f,a),g.set(e);var m=g[0];for(k=0,l=h.length;k<l;++k)g.set(h[k].seq(a));for(k=e.length;k--;)e[k]=g[k]*i+j}return e};return a}();b.fn.register("aux",z);var A=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{type:{set:function(b){var c;typeof b=="string"&&(c=a.Types[b])!==undefined&&(this._.type=b,this._.set_params=c.set_params)},get:function(){return this._.type}},freq:{set:function(a){this._.freq=b(a)},get:function(){return this._.freq}},band:{set:function(a){this._.band=b(a)},get:function(){return this._.band}},gain:{set:function(a){this._.gain=b(a)},get:function(){return this._.gain}}}}),d=function(c){var d,e,f;this._=f={},e=0,typeof c[e]=="string"&&a.Types[c[e]]!==undefined?this.type=c[e++]:this.type="lpf",d=this._.type,typeof c[e]=="object"&&c[e].isKr?f.freq=c[e++]:typeof c[e]=="number"?f.freq=b(c[e++]):f.freq=b(a.Types[d].default_freq),typeof c[e]=="object"&&c[e].isKr?f.band=c[e++]:typeof c[e]=="number"?f.band=b(c[e++]):f.band=b(a.Types[d].default_band),typeof c[e]=="object"&&c[e].isKr?f.gain=c[e++]:typeof c[e]=="number"?f.gain=b(c[e++]):f.gain=b(a.Types[d].default_gain||6),this.args=c.slice(e).map(b),f.prev_type=undefined,f.prev_freq=undefined,f.prev_band=undefined,f.prev_gain=undefined,f.in1=f.in2=f.out1=f.out2=0};c.clone=function(a){var c,d=this._,e,f,g;c=b("filter",d.type),a?(c.freq=d.freq.clone(a),c.band=d.band.clone(a),c.gain=d.gain.clone(a)):(c.freq=d.freq,c.band=d.band,c.gain=d.gain);return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),f=c.mul,g=c.add,e=b.fn.sumargsAR(this,d,a);if(c.ison){h=c.type,c.freq.seq_id===a?i=c.freq.cell[0]:i=c.freq.seq(a)[0],c.band.seq_id===a?j=c.band.cell[0]:j=c.band.seq(a)[0],c.gain.seq_id===a?k=c.gain.cell[0]:k=c.gain.seq(a)[0];if(h!==c.prev_type||i!==c.prev_freq||j!==c.prev_band||k!==c.prev_gain)c.set_params.call(this,i,j,k),c.prev_type=h,c.prev_freq=i,c.prev_band=j,c.prev_gain=k;q=c.a1,r=c.a2,s=c.b0,t=c.b1,u=c.b2,v=c.in1,w=c.in2,x=c.out1,y=c.out2;for(m=0,n=e.length;m<n;++m)z=e[m],A=s*z+t*v+u*w-q*x-r*y,A>1?A=1:A<-1&&(A=-1),w=v,v=z,y=x,x=A,e[m]=A;c.in1=v,c.in2=w,c.out1=x,c.out2=y}for(m=e.length;m--;)e[m]=e[m]*f+g}return e},c.getFilter=function(b){return a.Types[b]},c.setFilter=function(b,c){typeof c=="object"&&typeof c.set_params=="function"&&(typeof c.default_freq!="number"&&(c.default_freq=2e3),typeof c.default_band!="number"&&(c.default_freq=1),typeof c.default_gain!="number"&&(c.default_freq=6),a.Types[b]=c)};return a}();A.Types={},A.Types.lpf={default_freq:800,default_band:1,set_params:function(a,c){var d=this._,e,f,g,h,i,j;e=a*2*Math.PI/b.samplerate,f=Math.cos(e),g=Math.sin(e),i=.34657359027997264*c*e/g,h=g*(Math.exp(i)-Math.exp(-i))*.5,h===Infinity&&(h=0),j=1/(1+h),d.a1=-2*f*j,d.a2=(1-h)*j,d.b1=(1-f)*j,d.b2=d.b0=d.b1*.5}},A.Types.hpf={default_freq:5500,default_band:1,set_params:function(a,c){var d=this._,e,f,g,h,i,j;e=a*2*Math.PI/b.samplerate,f=Math.cos(e),g=Math.sin(e),i=.34657359027997264*c*e/g,h=g*(Math.exp(i)-Math.exp(-i))*.5,h===Infinity&&(h=0),j=1/(1+h),d.a1=-2*f*j,d.a2=+(1-h)*j,d.b1=-(1+f)*j,d.b2=d.b0=-d.b1*.5}},A.Types.bpf={default_freq:3e3,default_band:1,set_params:function(a,c){var d=this._,e,f,g,h,i,j;e=a*2*Math.PI/b.samplerate,f=Math.cos(e),g=Math.sin(e),i=.34657359027997264*c*e/g,h=g*(Math.exp(i)-Math.exp(-i))*.5,h===Infinity&&(h=0),j=1/(1+h),d.a1=-2*f*j,d.a2=(1-h)*j,d.b0=h*j,d.b1=0,d.b2=-d.b0}},A.Types.brf={default_freq:3e3,default_band:1,set_params:function(a,c){var d=this._,e,f,g,h,i,j;e=a*2*Math.PI/b.samplerate,f=Math.cos(e),g=Math.sin(e),i=.34657359027997264*c*e/g,h=g*(Math.exp(i)-Math.exp(-i))*.5,h===Infinity&&(h=0),j=1/(1+h),d.a1=-2*f*j,d.a2=+(1-h)*j,d.b0=1,d.b1=-(1+f)*j,d.b2=1}},A.Types.allpass={default_freq:3e3,default_band:1,set_params:function(a,c){var d=this._,e,f,g,h,i,j;e=a*2*Math.PI/b.samplerate,f=Math.cos(e),g=Math.sin(e),i=.34657359027997264*c*e/g,h=g*(Math.exp(i)-Math.exp(-i))*.5,h===Infinity&&(h=0),j=1/(1+h),d.a1=-2*f*j,d.a2=+(1-h)*j,d.b0=d.a2,d.b1=d.a1,d.b2=1}},A.Types.peaking={default_freq:3e3,default_band:1,default_gain:6,set_params:function(a,c,d){var e=this._,f,g,h,i,j,k,l,m,n;f=Math.pow(10,d*.025),g=a*2*Math.PI/b.samplerate,h=Math.cos(g),i=Math.sin(g),m=.34657359027997264*c*g/i,j=i*(Math.exp(m)-Math.exp(-m))*.5,j===Infinity&&(j=0),k=j*f,l=j/f,n=1/(1+l),e.a1=-2*h*n,e.a2=+(1-l)*n,e.b0=+(1+k)*n,e.b1=e.a1,e.b2=+(1-k)*n}},A.Types.lowboost={default_freq:3e3,default_band:1,default_gain:6,set_params:function(a,c,d){var e=this._,f,g,h,i,j,k,l;f=Math.pow(10,d*.025),g=a*2*Math.PI/b.samplerate,h=Math.cos(g),i=Math.sin(g),j=i*.5*Math.sqrt((f+1/f)*(1/c-1)+2),k=j*Math.sqrt(f)*2,l=1/(f+1+(f-1)*h+k),e.a1=-2*(f-1+(f+1)*h)*l,e.a2=(f+1+(f-1)*h-k)*l,e.b0=(f+1-(f-1)*h+k)*f*l,e.b1=2*(f-1-(f+1)*h)*f*l,e.b2=(f+1-(f-1)*h-k)*f*l}},A.Types.highboost={default_freq:5500,default_band:1,default_gain:6,set_params:function(a,c,d){var e=this._,f,g,h,i,j,k,l;f=Math.pow(10,d*.025),g=a*2*Math.PI/b.samplerate,h=Math.cos(g),i=Math.sin(g),j=i*.5*Math.sqrt((f+1/f)*(1/c-1)+2),k=j*Math.sqrt(f)*2,l=1/(f+1+(f-1)*h+k),e.a1=2*(f-1+(f+1)*h)*l,e.a2=(f+1+(f-1)*h-k)*l,e.b0=(f+1-(f-1)*h+k)*f*l,e.b1=-2*(f-1-(f+1)*h)*f*l,e.b2=(f+1-(f-1)*h-k)*f*l}},b.fn.register("filter",A),b.fn.register("lpf",A,function(a){return new A(["lpf"].concat(a))}),b.fn.register("hpf",A,function(a){return new A(["hpf"].concat(a))}),b.fn.register("bpf",A,function(a){return new A(["bpf"].concat(a))}),b.fn.register("brf",A,function(a){return new A(["brf"].concat(a))}),b.fn.register("allpass",A,function(a){return new A(["allpass"].concat(a))}),b.fn.register("peaking",A,function(a){return new A(["peaking"].concat(a))}),b.fn.register("lowboost",A,function(a){return new A(["lowboost"].concat(a))}),b.fn.register("highboost",A,function(a){return new A(["highboost"].concat(a))});var B=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{type:{set:function(b){var c;typeof b=="string"&&(c=a.Types[b])!==undefined&&(this._.type=b,this._.mode=c)},get:function(){return this._.type}},cutoff:{set:function(a){this._.cutoff=b(a)},get:function(){return this._.cutoff}},Q:{set:function(a){this._.Q=b(a)},get:function(){return this._.Q}},depth:{set:function(a){this._.depth=b(a)},get:function(){return this._.depth}}}});a.Types={lpf:0,hpf:1,bpf:2,brf:3};var d=function(c){var d,e,f;this._=f={},e=0,typeof c[e]=="string"&&a.Types[c[e]]!==undefined?this.type=c[e++]:this.type="lpf",typeof c[e]=="object"&&c[e].isKr?f.cutoff=c[e++]:typeof c[e]=="number"?f.cutoff=b(c[e++]):f.cutoff=b(800),typeof c[e]=="object"&&c[e].isKr?f.Q=c[e++]:typeof c[e]=="number"?f.Q=b(c[e++]):f.Q=b(.5),typeof c[e]=="object"&&c[e].isKr?f.depth=c[e++]:typeof c[e]=="number"?f.depth=b(c[e++]):f.depth=b(.5),this.args=c.slice(e).map(b),f.prev_cutoff=undefined,f.prev_Q=undefined,f.prev_depth=undefined,f.f=new Float32Array(4),f.mode=0,f.damp=0,f.freq=0};c.clone=function(a){var c,d=this._,e,f,g;c=b("rfilter",d.type),a?(c.cutoff=d.cutoff.clone(a),c.Q=d.Q.clone(a),c.depth=d.depth.clone(a)):(c.cutoff=d.cutoff,c.Q=d.Q,c.depth=d.depth);return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),f=c.mul,g=c.add,e=b.fn.sumargsAR(this,d,a);if(c.ison){k=c.mode,h=c.cutoff.seq(a)[0],i=c.Q.seq(a)[0];if(h!==c.prev_cutoff||i!==c.prev_Q)m=2*Math.sin(3.141592653589793*Math.min(.25,h/(b.samplerate*2))),c.damp=Math.min(2*(1-Math.pow(i,.25)),Math.min(2,2/m-m*.5)),c.freq=m,c.prev_cutoff=h,c.prev_Q=i;n=c.depth.seq(a)[0],n!==c.prev_depth&&(c.depth0=Math.cos(.5*Math.PI*n),c.depth1=Math.sin(.5*Math.PI*n)),j=c.f,l=c.damp,m=c.freq,o=c.depth0,p=c.depth1;for(s=0,t=e.length;s<t;++s)q=e[s],j[3]=q-l*j[2],j[0]=j[0]+m*j[2],j[1]=j[3]-j[0],j[2]=m*j[1]+j[2],r=.5*j[k],j[3]=q-l*j[2],j[0]=j[0]+m*j[2],j[1]=j[3]-j[0],j[2]=m*j[1]+j[2],r+=.5*j[k],r=q*o+r*p,e[s]=r;for(s=t;s--;)e[s]=e[s]*f+g}else for(s=e.length;s--;)e[s]=e[s]*f+g}return e};return a}();b.fn.register("rfilter",B),b.fn.register("rlpf",B,function(a){return new B(["lpf"].concat(a))}),b.fn.register("rhpf",B,function(a){return new B(["hpf"].concat(a))}),b.fn.register("rbpf",B,function(a){return new B(["bpf"].concat(a))}),b.fn.register("rbrf",B,function(a){return new B(["brf"].concat(a))});var C=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{time:{set:function(a){var b=this._;typeof a=="number"&&(b.time=a,e.call(this,b.time,this._.fb,b.wet))},get:function(){return this._.time}},fb:{set:function(a){var b=this._;typeof a=="number"&&(b.fb=a,e.call(this,b.time,b.fb,b.wet))},get:function(){return this._.fb}},wet:{set:function(a){var b=this._;typeof a=="number"&&(b.wet=a,e.call(this,b.time,b.fb,b.wet))},get:function(){return this._.wet}}}}),d=function(a){var c=this._={},d,f=Math.ceil(Math.log(b.samplerate*1.5)*Math.LOG2E);c.buffer=new Float32Array(1<<f),c.mask=(1<<f)-1,c.idx=0,c.out=0,c.time=250,c.fb=.25,c.wet=.25,d=0,typeof a[d]=="number"&&(c.time=a[d++]),typeof a[d]=="number"&&(c.fb=a[d++]),typeof a[d]=="number"&&(c.wet=a[d++]),e.call(this,c.time,c.fb,c.wet),this.args=a.slice(d).map(b)};c.clone=function(a){var c,d=this._;c=b("efx.delay",d.time,d.fb,d.wet);return b.fn.copyBaseArguments(this,c,a)};var e=function(a,c,d){var e=this._,f=a*b.samplerate/1e3,g=e.mask;e.out=e.idx+f&g,c<.995?c>-0.995?e.fb=c:e.fb=-0.995:e.fb=.995,d>1?d=1:d<0&&(d=0),e.wet=d};c.seq=function(a){var c=this._,d,e,f,g,h=this.cell;if(a!==this.seq_id){this.seq_id=a;var i=this.args.slice(0);h=b.fn.sumargsAR(this,i,a);var j,k=c.buffer,l=c.mask,m=c.idx,n=c.fb,o=c.out,p=c.wet,q=1-c.wet;if(c.ison)for(d=0,e=h.length;d<e;++d)j=k[m],k[o]=h[d]-j*n,o=++o&l,m=++m&l,h[d]=h[d]*q+j*p;else for(d=0,e=h.length;d<e;++d)j=k[m],k[o]=h[d]-j*n,m=++m&l,o=++o&l;c.idx=m,c.out=o;var r=c.mul,s=c.add;for(d=h.length;d--;)h[d]=h[d]*r+s}return h};return a}();b.fn.register("efx.delay",C);var D=function(){var a=6,c=function(){f.apply(this,arguments)},d=b.fn.buildPrototype(c,{base:"ar-only",properties:{time:{set:function(a){var b=this._;typeof a=="number"&&(b.time=a,g.call(this,b.time,b.fb,b.wet))},get:function(){return this._.time}},fb:{set:function(a){var b=this._;typeof a=="number"&&(b.fb=a,g.call(this,b.time,b.fb,b.wet))},get:function(){return this._.fb}},wet:{set:function(a){var b=this._;typeof a=="number"&&(b.wet=a,g.call(this,b.time,b.fb,b.wet))},get:function(){return this._.wet}}}}),e=function(a,b,c,d){this.buffer=new Float32Array(a),this.mask=a-1,this.idx=0,this.out=0,this.time=b,this.fb=c,this.wet=d};e.prototype={set_params:function(a,c,d){var e=a*b.samplerate/1e3,f=this.mask;this.out=this.idx+e&f,c<.995?c>-0.995?this.fb=c:this.fb=-0.995:this.fb=.995,d>1?d=1:d<0&&(d=0),this.wet=d},process:function(a){var b,c,d,e=this.buffer,f=this.mask,g=this.idx,h=this.fb,i=this.out,j=this.wet,k=1-this.wet;for(b=0,c=a.length;b<c;++b)d=e[g],e[i]=a[b]-d*h,i=++i&f,g=++g&f,a[b]=a[b]*k+d*j;this.idx=g,this.out=i;return a}};var f=function(c){var d=this._={},f,h=Math.ceil(Math.log(b.samplerate*1)*Math.LOG2E),i=d.delay=Array(a);for(f=0;f<a;++f)i[f]=new e(1<<h,0,0,0);d.time=700,d.fb=.8,d.wet=.3,d.cell=new Float32Array(b.cellsize),f=0,typeof c[f]=="number"&&(d.time=c[f++]),typeof c[f]=="number"&&(d.fb=c[f++]),typeof c[f]=="number"&&(d.wet=c[f++]),g.call(this,d.time,d.fb,d.wet),this.args=c.slice(f).map(b)},g=function(b,c,d){var e=this._,f,g=b/a,h=e.delay;for(f=a;f--;)h[f].set_params(b,c,d),b*=.5,c*=.5};d.seq=function(c){var d=this._,e,f,g,h,i=this.cell;if(c!==this.seq_id){this.seq_id=c;var j=this.args.slice(0);i=b.fn.sumargsAR(this,j,c);var k=d.cell,l=d.delay,m=1-d.wet;for(e=i.length;e--;)k[e]=i[e];for(e=0;e<a;++e)l[e].process(i);if(d.ison)for(e=i.length;e--;)i[e]+=k[e]*m;else for(e=i.length;e--;)i[e]=k[e];var n=d.mul,o=d.add;for(e=i.length;e--;)i[e]=i[e]*n+o}return i};return c}();b.fn.register("efx.reverb",D);var E=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{pre:{set:function(a){this._.preGain=b(a)},get:function(){return this._.preGain}},post:{set:function(a){this._.postGain=b(a)},get:function(){return this._.postGain}},freq:{set:function(a){this._.lpfFreq=b(a)},get:function(){return this._.lpfFreq}}}}),d=function(a){var c,d;this._=d={},c=0,typeof a[c]=="object"&&a[c].isKr?d.preGain=a[c++]:typeof a[c]=="number"?d.preGain=b(a[c++]):d.preGain=b(-60),typeof a[c]=="object"&&a[c].isKr?d.postGain=a[c++]:typeof a[c]=="number"?d.postGain=b(a[c++]):d.postGain=b(18),typeof a[c]=="object"&&a[c].isKr?d.lpfFreq=a[c++]:typeof a[c]=="number"?d.lpfFreq=b(a[c++]):d.lpfFreq=b(2400),this.args=a.slice(c).map(b),d.prev_preGain=undefined,d.prev_postGain=undefined,d.prev_lpfFreq=undefined,d.in1=d.in2=d.out1=d.out2=0,d.a1=d.a2=0,d.b0=d.b1=d.b2=0};c.clone=function(a){var c,d=this._;c=b("efx.dist",d.preGain,d.postGain,d.lpfFreq);return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F;d=this.cell;if(a!==this.seq_id){this.seq_id=a,e=this.args.slice(0),f=c.mul,g=c.add,d=b.fn.sumargsAR(this,e,a);if(c.ison){h=c.preGain.seq(a)[0],i=c.postGain.seq(a)[0],l=c.lpfFreq.seq(a)[0];if(h!==c.prev_preGain||i!==c.prev_postGain||l!==c.prev_lpfFreq)k=Math.pow(2,-i/6),c.preScale=Math.pow(2,-h/6)*k,c.limit=k,l&&(w=l*2*Math.PI/b.samplerate,x=Math.cos(w),y=Math.sin(w),A=.34657359027997264*w/y,z=y*(Math.exp(A)-Math.exp(-A))*.5,B=1/(1+z),c.a1=-2*x*B,c.a2=(1-z)*B,c.b1=(1-x)*B,c.b2=c.b0=c.b1*.5);j=c.preScale,m=c.limit;if(c.lpfFreq){n=c.a1,o=c.a2,p=c.b0,q=c.b1,r=c.b2,s=c.in1,t=c.in2,u=c.out1,v=c.out2,u<152587890625e-16&&(v=u=0);for(E=0,F=d.length;E<F;++E)C=d[E]*j,C>m?C=m:C<-m&&(C=-m),D=p*C+q*s+r*t-n*u-o*v,D>1?D=1:D<-1&&(D=-1),t=s,s=C,v=u,u=D,d[E]=D*f+g;c.in1=s,c.in2=t,c.out1=u,c.out2=v}else for(E=0,F=d.length;E<F;++E)C=d[E]*j,C>m?C=m:C<-m&&(C=-m),d[E]=C*f+g}else for(E=d.length;E--;)d[E]=d[E]*f+g}return d};return a}();b.fn.register("efx.dist",E);var F=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{depth:{set:function(a){var b=this._;typeof a=="number"&&(b.depth=a,b.lfo.mul=b.depth*b.offset)},get:function(){return this._.depth}},rate:{set:function(a){var b=this._;typeof a=="number"&&(b.rate=a,b.lfo.freq.value=a)},get:function(){return this._.rate}},wet:{set:function(a){var b=this._;typeof a=="number"&&0<=a&&a<=1&&(b.wet=a,b.wet0=Math.sin(.25*Math.PI*a),b.dry0=Math.cos(.25*Math.PI*a))},get:function(){return this._.wet}}}}),d=function(a){var c,d,e;this._=e={},c=Math.ceil(Math.log(b.samplerate*.02)*Math.LOG2E),e.buffer=new Float32Array(1<<c),e.buffer_mask=(1<<c)-1,d=0,e.delay=10,e.depth=typeof a[d]=="number"?a[d++]:.8,e.rate=typeof a[d]=="number"?a[d++]:.5,e.wet=typeof a[d]=="number"?a[d++]:.5,e.wet0=Math.sin(.25*Math.PI*e.wet),e.dry0=Math.cos(.25*Math.PI*e.wet),e.sr=b.samplerate/1e3,e.offset=e.sr*e.delay|0,e.pointerRead=0,e.pointerWrite=e.offset,e.lfo=b("sin",e.rate,e.depth*e.offset).kr(),this.args=a.slice(d).map(b)};c.clone=function(a){
var c,d=this._;c=b("efx.chorus",d.depth,d.rate,d.wet);return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var b=this._,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;d=this.cell;if(a!==this.seq_id){this.seq_id=a,c=this.args.slice(0);for(h=i=d.length;h--;)d[h]=0;j=b.buffer,k=b.buffer_mask,l=b.pointerWrite;for(h=0;h<i;++h)j[l]=0,l=l+1&k;l=b.pointerWrite;for(f=0,g=c.length;f<g;++f){e=c[f].seq(a);for(h=0;h<i;++h)j[l]+=e[h],l=l+1&k}v=b.mul,w=b.add;if(b.ison){o=b.wet0,p=b.dry0,q=b.fb,r=b.lfo.seq(a)[0]|0,m=b.pointerRead,n=m+r+j.length&k,l=b.pointerWrite;for(f=0,g=d.length;f<g;++f)s=j[m],t=j[n],u=s*p+t*o,d[f]=u*v+w,m=m+1&k,n=n+1&k,l=l+1&k}else{m=b.pointerRead;for(f=0,g=d.length;f<g;++f)d[f]=j[m]*v+w,m=m+1&k}b.pointerRead=m,b.pointerWrite=l}return d};return a}();b.fn.register("efx.chorus",F);var G=function(){var a=function(){e.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{thres:{set:function(a){var b=this._;typeof a=="number"&&(b.thres=a,b.thres2=a*a)},get:function(){return this._.thres}},ratio:{set:function(a){var b=this._;typeof a=="number"&&(b.ratio=a,f.call(this,b.ratio,b.attack,b.release))},get:function(){return this._.ratio}},attack:{set:function(a){var b=this._;typeof a=="number"&&(b.attack=a,f.call(this,b.ratio,b.attack,b.release))},get:function(){return this._.attack}},release:{set:function(a){var b=this._;typeof a=="number"&&(b.release=a,f.call(this,b.ratio,b.attack,b.release))},get:function(){return this._.release}},gain:{set:function(a){var b=this._;typeof a=="number"&&(b.gain=a)},get:function(){return this._.gain}}}}),d=40,e=function(a){var c=this._={},d,e=Math.ceil(Math.log(b.samplerate*.04)*Math.LOG2E);c.buffer=new Float32Array(1<<e),c.mask=c.buffer.length-1,c.sum=0,c.avg=1/c.buffer.length,c.thres=.2,c.ratio=.25,c.attack=20,c.release=30,c.gain=1.5;var d=0;typeof a[d]=="number"&&(c.thres=a[d++]),typeof a[d]=="number"&&(c.ratio=a[d++]),typeof a[d]=="number"&&(c.gain=a[d++]),c.idx=0,c.xrt=0,c.thres2=c.thres*c.thres,c.ratio2=0,f.call(this,c.ratio,c.attack,c.release),this.args=a.slice(d).map(b)},f=function(a,c,d){var e=this._;a>.999755859375?a=.999755859375:a<0&&(a=0),e.adx=(1-a)/(c*b.samplerate/1e3),e.rdx=(1-a)/(d*b.samplerate/1e3),e.xrt=1};c.seq=function(a){var c=this._,d,e,f=this.cell;if(a!==this.seq_id){this.seq_id=a;var g=this.args.slice(0);f=b.fn.sumargsAR(this,g,a);if(c.ison){var h=c.thres,i=c.ratio,j=c.gain,k,l=c.buffer,m=c.mask,n=c.idx,o=c.sum,p=c.avg,q=c.xrt,r=c.adx,s=c.rdx,t=c.thres2,u;for(d=0,e=f.length;d<e;++d)k=f[d],o-=l[n],o+=l[n]=k*k,n=++n&m,u=o*p,u>t?(q-=r)<i&&(q=i):(q+=s)>1&&(q=1),q<1&&(k>h?k=+h+(k-h)*q:k<-h&&(k=-h+(k+h)*q)),f[d]=k*j;c.sum=o,c.idx=n,c.xrt=q}var v=c.mul,w=c.add;for(d=f.length;d--;)f[d]=f[d]*v+w}return f};return a}();b.fn.register("efx.comp",G);var H={initialize:function(a){var b,c;this._=c={},b=0,c.src=typeof a[b]=="string"?a[b++]:"",c.loop=typeof a[b]=="boolean"?a[b++]:!1,typeof a[b]=="function"&&(c.loop?this.onlooped=a[b++]:this.onended=a[b++]),c.buffer=new Float32Array(0),c.duration=0,c.phase=0,c.reversed=!1,c.isloaded=!1},setPrototype:function(){Object.defineProperty(this,"src",{set:function(a){typeof a=="string"?this._.src!==a&&(this._.src=a,this._.isloaded=!1):b.platform==="web"&&a instanceof File&&(this._.src=a,this._.isloaded=!1)},get:function(){return this._.src}}),Object.defineProperty(this,"loop",{set:function(a){this._.loop=!!a},get:function(){return this._.loop}}),Object.defineProperty(this,"reversed",{set:function(a){var b=this._;b.reversed=!!a,b.reversed&&b.phase===0&&(b.phase=Math.max(0,b.buffer.length-1))},get:function(){return this._.reversed}}),Object.defineProperty(this,"isLoaded",{get:function(){return this._.isloaded}}),Object.defineProperty(this,"duration",{get:function(){return this._.duration}}),Object.defineProperty(this,"currentTime",{set:function(a){var c=this._;typeof a=="number"&&0<=a&&a<=c.duration&&(c.phase=a/1e3*b.samplerate|0)},get:function(){return this._.phase/b.samplerate*1e3}}),this.clone=function(a){var c,d,e=this._;c=this._.proto._.klassname,d=b(c,e.src,e.loop),d._.reversed=e.reversed,d._.isloaded=e.isloaded,d._.buffer=e.buffer,d._.duration=e.duration,d._.phase=e.reversed?Math.max(0,e.buffer.length-1):0;return b.fn.copyBaseArguments(this,d,a)},this.slice=function(a,c){var d,e,f=this._,g,h;d=this._.proto._.klassname,h=f.reversed,typeof a=="number"?a=a/1e3*b.samplerate:a=0,typeof c=="number"?c=c/1e3*b.samplerate:c=f.buffer.length,a>c&&(g=a,a=c,c=g,h=!h),e=b(d),e._.loop=f.loop,e._.reversed=h,e._.buffer=f.buffer.subarray(a,c),e._.duration=(c-a/b.samplerate)*1e3,e._.phase=h?Math.max(0,e._.buffer.length-1):0;return b.fn.copyBaseArguments(this,e)},this.bang=function(){var a=this._;a.phase=a.reversed?Math.max(0,a.buffer.length-1):0,b.fn.doEvent(this,"bang");return this},this.seq=function(a){var c=this._,d,e,f,g,h,i;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a,e=c.buffer,f=c.mul,g=c.add;if(c.reversed)for(h=0,i=d.length;h<i;++h)d[h]=(e[c.phase--]||0)*f+g,c.phase<0&&(c.loop?(c.phase=Math.max(0,c.buffer.length-1),b.fn.doEvent(this,"looped")):b.fn.doEvent(this,"ended"));else for(h=0,i=d.length;h<i;++h)d[h]=(e[c.phase++]||0)*f+g,c.phase>=e.length&&(c.loop?(c.phase=0,b.fn.doEvent(this,"looped")):b.fn.doEvent(this,"ended"))}return d},this.getAudioSrc=function(){var a=this._,c,d,e,f,g;if(b.platform==="web"){e="",c=a.src.split(/,/).map(function(a){return a.trim()});for(f=0,g=c.length;f<g;++f){d=/^(.*\.)(aac|mp3|ogg|wav)$/i.exec(e+c[f]);if(d){if((new Audio("")).canPlayType("audio/"+d[2]))return d[0];e===""&&(e=d[1])}}}return""};return this}},I=function(){var a=function(){H.initialize.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["ar-only",H.setPrototype]});c.load=function(){var a=this,c=this._,d,e,f,g,h;e=new webkitAudioContext,f=new XMLHttpRequest,g={buffer:null,samplerate:e.sampleRate},c.src instanceof File?(h=new FileReader,h.onload=function(d){var f;try{f=e.createBuffer(d.target.result,!0)}catch(d){f=null}f!==null?(c.buffer=f.getChannelData(0),c.duration=c.buffer.length/b.samplerate*1e3,g.buffer=c.buffer,b.fn.doEvent(a,"loadedmetadata",[g]),c.isloaded=!0,b.fn.doEvent(a,"loadeddata",[g])):b.fn.doEvent(a,"error",[d])},h.readAsArrayBuffer(c.src)):(d=this.getAudioSrc(c.src),d!==""?(f.open("GET",d,!0),f.responseType="arraybuffer",f.onreadystatechange=function(c){f.readyState===4&&f.status!==200&&b.fn.doEvent(a,"error",[f])},f.onload=function(){c.buffer=e.createBuffer(f.response,!0).getChannelData(0),c.duration=c.buffer.length/b.samplerate*1e3,g.buffer=c.buffer,b.fn.doEvent(a,"loadedmetadata",[g]),c.isloaded=!0,b.fn.doEvent(a,"loadeddata",[g])},f.send()):b.fn.doEvent(a,"error",[f]),c.isloaded=!1,c.buffer=new Float32Array(0),c.phase=0);return this};return a}();b.fn.register("-webkit-audio",I);var J=function(){var a=function(){H.initialize.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["ar-only",H.setPrototype]}),d=function(a,c){var d=this,e=this._,f,g,h,i=function(c){var f,j,k,l;try{f=c.frameBuffer,j=e.buffer;for(k=0,l=f.length;k<l;k+=h)j[g++]=f[k|0];a.removeEventListener("MozAudioAvailable",i),a.addEventListener("MozAudioAvailable",function(a){var b,c,d,f;b=a.frameBuffer,c=e.buffer;for(d=0,f=b.length;d<f;d+=h)c[g++]=b[d|0]},!1)}catch(c){a.removeEventListener("MozAudioAvailable",i),a.pause(),b.fn.doEvent(d,"error",[c])}};a.loop=!1,a.addEventListener("error",function(a){b.fn.doEvent(d,"error",[a])},!1),a.addEventListener("loadedmetadata",function(f){a.volume=0,e.buffer=new Float32Array(a.duration*a.mozSampleRate|0),e.duration=a.duration*1e3,g=0,h=a.mozSampleRate/b.samplerate,a.play(),c.buffer=e.buffer,c.samplerate=a.mozSampleRate,b.fn.doEvent(d,"loadedmetadata",[c])},!1),a.addEventListener("MozAudioAvailable",i,!1),a.addEventListener("ended",function(a){e.isloaded=!0,b.fn.doEvent(d,"loadeddata",[c])},!1),a.load()};c.load=function(a){var c=this,e=this._,f,g,h;h={buffer:null,samplerate:0},e.src instanceof File?(g=new FileReader,g.onload=function(a){var e,f;(f=/^data:(.*?);/.exec(a.target.result))!==null?(new Audio("")).canPlayType(f[1])?(e=new Audio(a.target.result),d.call(c,e,h)):b.fn.doEvent(c,"error",["cannot play: '"+f[1]+"'"]):b.fn.doEvent(c,"error",["file error"])},g.readAsDataURL(e.src)):(f=this.getAudioSrc(e.src),f!==""&&d.call(this,new Audio(f),h),e.isloaded=!1,e.buffer=new Float32Array(0),e.phase=0);return this};return a}();b.fn.register("-moz-audio",J);var K=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{src:{set:function(a){typeof a=="string"&&this._.src!==a&&(this._.src=a,this._.isloaded=!1)},get:function(){return this._.src}},loop:{set:function(a){this._.loop=!!a},get:function(){return this._.loop}},reversed:{set:function(a){var b=this._;b.reversed=!!a,b.reversed&&b.phase===0&&(b.phase=Math.max(0,b.buffer.length-1))},get:function(){return this._.reversed}},isLoaded:{get:function(){return this._.isloaded}},duration:{get:function(){return this._.duration}},currentTime:{set:function(a){typeof a=="number"&&0<=a&&a<=this._.duration&&(this._.phase=a/1e3*this._.samplerate)},get:function(){return this._.phase/this._.samplerate*1e3}}}}),d=function(a){var b,c;this._=c={},b=0,c.src=typeof a[b]=="string"?a[b++]:"",c.loop=typeof a[b]=="boolean"?a[b++]:!1,c.loaded_src=undefined,c.buffer=new Int16Array(0),c.samplerate=0,c.duration=0,c.phaseStep=0,c.phase=0,c.reversed=!1};c.clone=function(a){var c,d=this._;c=b("wav"),c._.src=d.src,c._.loop=d.loop,c._.reversed=d.reversed,c._.isloaded=d.isloaded,c._.loaded_src=d.loaded_src,c._.buffer=d.buffer,c._.samplerate=d.samplerate,c._.duration=d.duration,c._.phaseStep=d.phaseStep,c._.phase=0;return b.fn.copyBaseArguments(this,c,a)},c.slice=function(a,c){var d,e=this._,f,g;typeof a=="number"?a=a/1e3*e.samplerate:a=0,typeof c=="number"?c=c/1e3*e.samplerate:c=e.buffer.length,a>c&&(f=a,a=c,c=f,g=!g),d=b("wav"),d._.src=e.src,d._.loop=e.loop,d._.reversed=e.reversed,d._.isloaded=e.isloaded,d._.loaded_src=e.loaded_src,d._.buffer=e.buffer.subarray(a,c),d._.samplerate=e.samplerate,d._.duration=(c-a/e.samplerate)*1e3,d._.phaseStep=e.phaseStep,d._.phase=g?Math.max(0,d._.buffer.length-1):0;return b.fn.copyBaseArguments(this,d)};var e=function(a,c,d){a==="loadedmetadata"?b.fn.doEvent(this,"loadedmetadata",[c]):a==="loadeddata"?(typeof d=="function"?d.call(this,c):typeof d=="object"&&c.buffer&&(d.self=this,d.samplerate=c.samplerate,d.duration=c.buffer.length/samplerate*1e3,d.buffer=c.buffer,console.log("wav.load: done.")),b.fn.doEvent(this,"loadeddata",[c])):a==="error"&&(typeof d=="function"?d.call(this,"error"):typeof d=="object"&&console.log("wav.load: error."),b.fn.doEvent(this,"error"))};c.load=function(a){var c=this,d=this._,f,g,h,i,j;d.loaded_src===d.src?d.samplerate===0?e.call(this,"error",{},a):(e.call(this,"loadedmetadata",{samplerate:d.samplerate,buffer:d.buffer},a),e.call(this,"loadeddata",{samplerate:d.samplerate,buffer:d.buffer},a)):d.src!==""?(b.fn.doEvent(this,"loading"),b.platform==="web"&&b._.workerpath?(g=b.utils.relpath2rootpath(d.src),f=new Worker(b._.workerpath),f.onmessage=function(f){var g=f.data;switch(g.result){case"metadata":i=new Int16Array(g.bufferSize),j=g.samplerate,d.buffer=i,d.samplerate=j,e.call(c,"loadedmetadata",{samplerate:d.samplerate,buffer:d.buffer},a);break;case"data":i.set(g.array,g.offset);break;case"ended":d.isloaded=!0,d.loaded_src=d.src,d.duration=i.length/j*1e3,d.phaseStep=j/b.samplerate,d.reversed?d.phase=Math.max(0,newone._.buffer.length-1):d.phase=0,e.call(c,"loadeddata",{samplerate:j,buffer:i},a);break;default:e.call(c,"error",{},a)}},f.postMessage({action:"wav.decode",src:g})):b.utils.binary.load(d.src,function(f){b.utils.wav.decode(f,function(f){f.err?(d.loaded_src=undefined,d.buffer=new Int16Array(0),d.samplerate=0,d.duration=0,d.phaseStep=0,d.phase=0,e.call(c,"error",{},a)):(d.isloaded=!0,d.loaded_src=d.src,d.buffer=f.buffer,d.samplerate=f.samplerate,d.duration=f.buffer.length/f.samplerate*1e3,d.phaseStep=f.samplerate/b.samplerate,d.reversed?d.phase=Math.max(0,newone._.buffer.length-1):d.phase=0,e.call(c,"loadedmetadata",{samplerate:d.samplerate,buffer:d.buffer},a),e.call(c,"loadeddata",{samplerate:d.samplerate,buffer:d.buffer},a))})})):e.call(this,{},a),this._.isloaded=!1;return this},c.bang=function(){this._.phase=0,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n,o;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a,e=c.mul,f=c.add,g=c.buffer,i=c.phaseStep;if(c.reversed)for(n=0,o=d.length;n<o;++n)j=c.phase|0,k=c.phase-j,l=(g[j-1]||0)/32768,m=(g[j]||0)/32768,d[n]=((1-k)*l+k*m)*e+f,c.phase-=i,c.phase<0&&(c.loop?(c.phase=Math.max(0,c.buffer.length-1),b.fn.doEvent(this,"looped")):b.fn.doEvent(this,"ended"));else for(n=0,o=d.length;n<o;++n)j=c.phase|0,k=c.phase-j,l=(g[j]||0)/32768,m=(g[j+1]||0)/32768,d[n]=((1-k)*l+k*m)*e+f,c.phase+=i,c.phase>=g.length&&(c.loop?(c.phase=0,b.fn.doEvent(this,"looped")):b.fn.doEvent(this,"ended"))}return d};return a}();b.fn.register("wav",K);var L=function(){var a=function(){console.warn("Buddy is deprecated."),d.apply(this,arguments)},c=a.prototype;b.fn.setPrototypeOf.call(c,"ar-kr");var d=function(a){this.args=b.fn.valist.call(this,a)};c._.init=function(){c._._play=this.play,c._._pause=this.pause,c._._on=this.on,c._._off=this.off,c._._bang=this.bang,this.play=c._.$play,this.pause=c._.$pause,this.on=c._.$on,this.off=c._.$off,this.bang=c._.$bang},c.clone=function(a){return b.fn.copyBaseArguments(this,b("buddy"),a)},c._.$play=function(){var a,d,e;a=this.args.slice(0);for(d=0,e=a.length;d<e;++d)b.fn.doEvent(a[d],"play");return c._._play.call(this)},c._.$pause=function(){var a,d,e;a=this.args.slice(0);for(d=0,e=a.length;d<e;++d)b.fn.doEvent(a[d],"pause");return c._._pause.call(this)},c._.$on=function(){var a,b,d;a=this.args.slice(0);for(b=0,d=a.length;b<d;++b)a[b].on();return c._._on.call(this)},c._.$off=function(){var a,b,d;a=this.args.slice(0);for(b=0,d=a.length;b<d;++b)a[b].off();return c._._off.call(this)},c._.$bang=function(){var a,b,d;a=this.args.slice(0);for(b=0,d=a.length;b<d;++b)a[b].bang();return c._._bang.call(this)},c.send=function(a,b){var c,d,e;c=this.args.slice(0);for(d=0,e=c.length;d<e;++d)typeof c[d][a]=="function"&&c[d][a].apply(c[d],b);return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l;e=this.cell;if(a!==this.seq_id){this.seq_id=a,f=c.mul,g=c.add,l=b.cellsize,d=this.args.slice(0);if(c.ar){for(k=l;k--;)e[k]=0;for(i=0,j=d.length;i<j;++i){h=d[i].seq(a);for(k=l;k--;)e[k]+=h[k]}for(k=l;k--;)e[k]=e[k]*f+g}else{h=0;for(i=0,j=d.length;i<j;++i)h+=d[i].seq(a)[0];h=h*f+g;for(k=l;k--;)e[k]=h}}return e};return a}();b.fn.register("buddy",L);var M=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{delay:{set:function(a){typeof a=="number"&&(this._.delayTime=a)},get:function(){return this._.delayTime}}}}),d=function(a){var c,d,e;this._=e={},c=Math.ceil(Math.log(b.samplerate*5)*Math.LOG2E),e.buffer=new Float32Array(1<<c),e.buffer_mask=(1<<c)-1,e.pointerWrite=0,e.pointerRead=0,d=0,typeof a[d]=="number"&&(e.delayTime=a[d++]);var f=e.delayTime*b.samplerate/1e3;e.pointerWrite=e.pointerRead+f&e.buffer_mask,this.args=a.slice(d).map(b)};c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),g=c.mul,h=c.add,i=c.buffer,j=c.buffer_mask,l=c.pointerWrite,k=c.pointerRead,f=b.fn.sumargsAR(this,d,a);for(m=0,n=f.length;m<n;++m)i[l]=f[m],e[m]=i[k]*g+h,l=l+1&j,k=k+1&j;c.pointerWrite=l,c.pointerRead=k;if(!c.ar){f=e[0];for(m=max;m--;)e[m]=f}}return e};return a}();b.fn.register("delay",M);var N=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{sample:{set:function(a){typeof a=="number"&&(this._.sampleMax=a|0)},get:function(){return this._.sampleMax}}}}),d=function(a){var c,d;this._=d={},c=0,typeof a[c]=="number"?d.sampleMax=a[c++]|0:d.sampleMax=b.samplerate/1e4|0,d.sample=0,d.hold=0,this.args=a.slice(c).map(b)};c.bang=function(){b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),i=c.sample,j=c.hold,g=c.mul,h=c.add,f=b.fn.sumargsAR(this,d,a);for(k=0,l=f.length;k<l;++k)i<=0&&(j=f[k],i+=c.sampleMax),e[k]=j*g+h,--i;c.sample=i,c.hold=j;if(!c.ar){f=e[0];for(k=l;k--;)e[k]=f}}return e};return a}();b.fn.register("s&h",N);var O=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr"}),d=function(a){this.args=a.map(b)};c.seq=function(a){var c=this._,d,e,f,g,h,i,j;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),f=c.mul,g=c.add;if(c.ar){e=b.fn.sumargsAR(this,d,a);for(j=e.length;j--;)h=e[j],h<-1?(h=-h-1,i=h>>1,h=i&1?1-(h-(i<<1)):-1+(h-(i<<1))):1<h&&(h=+h-1,i=h>>1,h=i&1?-1+(h-(i<<1)):1-(h-(i<<1))),e[j]=h*f+g}else{h=b.fn.sumargsKR(this,d,a),h<-1?(h=-h-1,i=h>>1,h=i&1?1-(h-(i<<1)):-1+(h-(i<<1))):1<h&&(h=+h-1,i=h>>1,h=i&1?-1+(h-(i<<1)):1-(h-(i<<1))),h=h*f+g;for(j=e.length;j--;)e[j]=h}}return e};return a}();b.fn.register("pong",O);var P=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{min:{set:function(a){typeof a=="number"&&(this._.min=a)},get:function(){return this._.min}},max:{set:function(a){typeof a=="number"&&(this._.max=a)},get:function(){return this._.max}}}}),d=function(a){var c,d,e;this._=e={},d=[],c=0,typeof a[c]=="number"&&(d.push(a[c++]),typeof a[c]=="number"&&d.push(a[c++]));switch(d.length){case 1:d[0]<0?(e.min=d[0],e.max=-d[0]):(e.min=-d[0],e.max=d[0]);break;case 2:d[0]<d[1]?(e.min=d[0],e.max=d[1]):(e.min=d[1],e.max=d[0]);break;default:e.min=-1,e.max=1}this.args=a.slice(c).map(b)};c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k;e=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),f=c.mul,g=c.add,h=c.min,i=c.max;if(c.ar){e=b.fn.sumargsAR(this,d,a);for(k=e.length;k--;)j=e[k],j<h?j=h:i<j&&(j=i),e[k]=j*f+g}else{j=b.fn.sumargsKR(this,d,a),j<h?j=h:i<j&&(j=i),j=j*f+g;for(k=e.length;k--;)e[k]=j}}return e};return a}();b.fn.register("clip",P);var Q=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-ar",properties:{type:{set:function(b){var c;typeof b=="string"?(c=a.Functions[b])!==undefined&&(this._.type=b,this._.func=c):typeof b=="function"&&(this._.type="function",this._.func=b)},get:function(){return this._.type}},delay:{set:function(a){typeof a=="number"&&(this._.delay=a)},get:function(){return this._.delay}},duration:{set:function(a){typeof a=="number"&&(this._.duration=a)},get:function(){return this._.duration}},currentTime:{get:function(){return this._.currentTime}},start:{set:function(a){typeof a=="number"&&(this._.start=a)},get:function(){return this._.start}},stop:{set:function(a){typeof a=="number"&&(this._.stop=a)},get:function(){return this._.stop}},value:{get:function(){return this._.value}}}}),d=function(b){var c,d;this._=d={},c=0,typeof b[c]=="string"&&a.Functions[b[c]]!==undefined?this.type=b[c++]:typeof b[c]=="function"?this.type=b[c++]:this.type="linear",d.duration=typeof b[c]=="number"?b[c++]:1e3,d.start=typeof b[c]=="number"?b[c++]:0,d.stop=typeof b[c]=="number"?b[c++]:1,typeof b[c]=="function"&&(this.onchanged=b[c++]),d.delay=0,d.status=-1,d.value=0,d.samples=Infinity,d.x0=0,d.dx=0,d.currentTime=0};c.clone=function(a){var c,d=this._;c=b("ease"),c._.type=d.type,c._.func=d.func,c._.duration=d.duration,c._.value=d.value,c._.start=d.start,c._.stop=d.stop;return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){var a=this._;a.status=0,a.value=0,a.samples=b.samplerate*(a.delay/1e3)|0,a.x0=0,a.dx=0,a.currentTime=0,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i,j,k,l;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a;while(c.samples<=0){if(c.status===0){c.status=1,c.samples=b.samplerate*(c.duration/1e3)|0,c.x0=0,c.dx=b.cellsize/c.samples;continue}if(c.status===1){c.status=2,c.samples=Infinity,c.x0=1,c.dx=0,e=c.func(1),c.value=(e*(c.stop-c.start)+c.start)*c.mul+c.add,b.fn.doEvent(this,"ended");continue}}if(c.status!==2){e=c.status===1?c.func(c.x0):0,h=e*(c.stop-c.start)+c.start;if(c.ar){k=c.mul,l=c.add,e=c.value,f=h,g=(f-e)/d.length;for(i=0,j=b.cellsize;i<j;++i)d[i]=e*k+l,e+=g}else{e=h*c.mul+c.add;for(i=0,j=b.cellsize;i<j;++i)d[i]=e}c.status===1&&b.fn.doEvent(this,"changed",[h]),c.value=h,c.x0+=c.dx,c.samples-=j}else{h=c.value;for(i=0,j=b.cellsize;i<j;++i)d[i]=h}c.currentTime+=j*1e3/b.samplerate}return d},c.getFunction=function(b){return a.Functions[b]},c.setFunction=function(b,c){typeof c=="function"&&(a.Functions[b]=c)};return a}();b.fn.register("ease",Q),Q.Functions={linear:function(a){return a},"quadratic.in":function(a){return a*a},"quadratic.out":function(a){return a*(2-a)},"quadratic.inout":function(a){if((a*=2)<1)return.5*a*a;return-0.5*(--a*(a-2)-1)},"cubic.in":function(a){return a*a*a},"cubic.out":function(a){return--a*a*a+1},"cubic.inout":function(a){if((a*=2)<1)return.5*a*a*a;return.5*((a-=2)*a*a+2)},"quartic.in":function(a){return a*a*a*a},"quartic.out":function(a){return 1- --a*a*a*a},"quartic.inout":function(a){if((a*=2)<1)return.5*a*a*a*a;return-0.5*((a-=2)*a*a*a-2)},"quintic.in":function(a){return a*a*a*a*a},"quintic.out":function(a){return--a*a*a*a*a+1},"quintic.inout":function(a){if((a*=2)<1)return.5*a*a*a*a*a;return.5*((a-=2)*a*a*a*a+2)},"sinusoidal.in":function(a){return 1-Math.cos(a*Math.PI/2)},"sinusoidal.out":function(a){return Math.sin(a*Math.PI/2)},"sinusoidal.inout":function(a){return.5*(1-Math.cos(Math.PI*a))},"exponential.in":function(a){return a===0?0:Math.pow(1024,a-1)},"exponential.out":function(a){return a===1?1:1-Math.pow(2,-10*a)},"exponential.inout":function(a){if(a===0)return 0;if(a===1)return 1;if((a*=2)<1)return.5*Math.pow(1024,a-1);return.5*(-Math.pow(2,-10*(a-1))+2)},"circular.in":function(a){return 1-Math.sqrt(1-a*a)},"circular.out":function(a){return Math.sqrt(1- --a*a)},"circular.inout":function(a){if((a*=2)<1)return-0.5*(Math.sqrt(1-a*a)-1);return.5*(Math.sqrt(1-(a-=2)*a)+1)},"elastic.in":function(a){var b,c=.1,d=.4;if(a===0)return 0;if(a===1)return 1;!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI);return-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*2*Math.PI/d))},"elastic.out":function(a){var b,c=.1,d=.4;if(a===0)return 0;if(a===1)return 1;!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI);return c*Math.pow(2,-10*a)*Math.sin((a-b)*2*Math.PI/d)+1},"elastic.inout":function(a){var b,c=.1,d=.4;if(a===0)return 0;if(a===1)return 1;!c||c<1?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI);if((a*=2)<1)return-0.5*c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*2*Math.PI/d);return c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*2*Math.PI/d)*.5+1},"back.in":function(a){var b=1.70158;return a*a*((b+1)*a-b)},"back.out":function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},"back.inout":function(a){var b=2.5949095;if((a*=2)<1)return.5*a*a*((b+1)*a-b);return.5*((a-=2)*a*((b+1)*a+b)+2)},"bounce.in":function(a){return 1-Q.Functions["bounce.out"](1-a)},"bounce.out":function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},"bounce.inout":function(a){if(a<.5)return Q.Functions["bounce.in"](a*2)*.5;return Q.Functions["bounce.out"](a*2-1)*.5+.5}};var R=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"kr-ar",properties:{value:{set:function(a){var c=this._;typeof a=="number"&&(c.status=0,c.start=c.value,c.stop=a,c.samples=b.samplerate*(c.delay/1e3)|0,c.x0=0,c.dx=0)},get:function(){return this._.value}}},copies:["ease.type","ease.delay","ease.duration","ease.currentTime","ease.seq()","ease.getFunction()","ease.setFunction()"]}),d=function(a){var b,c;this._=c={},b=0,typeof a[b]=="string"&&Q.Functions[a[b]]!==undefined?this.type=a[b++]:typeof a[b]=="function"?this.type=a[b++]:this.type="linear",c.duration=typeof a[b]=="number"?a[b++]:1e3,c.value=typeof a[b]=="number"?a[b++]:0,typeof a[b]=="function"&&(this.onchanged=a[b++]),c.delay=0,c.status=-1,c.start=c.value,c.stop=c.value,c.samples=Infinity,c.x0=0,c.dx=0,c.currentTime=0};c.clone=function(a){var c,d=this._;c=b("glide"),c._.type=d.type,c._.func=d.func,c._.duration=d.duration,c._.value=d.value,c._.start=d.value,c._.stop=d.value;return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){var a=this._;a.status=0,a.start=a.value,a.stop=a.value,a.samples=b.samplerate*(a.delay/1e3)|0,a.x0=0,a.dx=0,a.currentTime=0,b.fn.doEvent(this,"bang");return this};return a}();b.fn.register("glide",R);var S=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["ar-only","listener"],properties:{buffer:{get:function(){return this._.buffer}},recTime:{set:function(a){var c=this._;typeof a=="number"&&a>0&&(c.recTime=a,c.buffer=new Float32Array(b.samplerate*c.recTime/1e3|0))},get:function(){return this._.recTime}},interval:{set:function(a){var c=this._;typeof a=="number"&&(c.interval=a,c.interval_samples=b.samplerate*(a/1e3)|0,c.interval_samples<c.buffer.length&&(c.interval_samples=c.buffer.length,c.interval=c.buffer.length*b.samplerate/1e3))},get:function(){return this._.interval}},currentTime:{get:function(){return this._.index/b.samplerate*1e3}},isRecording:{get:function(){return this._.ison}},overwrite:{set:function(a){this._.overwrite=!!a},get:function(){return this._.overwrite}}}}),d=function(a){var c,d;this._=d={},c=0,typeof a[c]=="number"&&a[c]>0?d.recTime=a[c++]:d.recTime=1e3,d.buffer=new Float32Array(b.samplerate*d.recTime/1e3|0),typeof a[c]=="number"&&a[c]>0?this.interval=a[c++]:this.interval=Infinity,typeof a[c]=="function"&&(this.onrecorded=a[c++]),this.args=a.slice(c).map(b),d.index=0,d.samples=0,d.currentTime=0,d.overwrite=!1,d.status=0};c.clone=function(a){var c,d=this._;c=b("rec",d.recTime),c._.overwrite=d.overwrite;return b.fn.copyBaseArguments(this,c,a)},c.on=function(){var a,c,d=this._;d.ison=!0,d.samples=0,d.status=0,b.fn.doEvent(this,"on");return this},c.off=function(){this._.ison&&e.call(this),this._.ison=!1,b.fn.doEvent(this,"off");return this},c.bang=function(){var a=this._;a.samples=0,a.status=0,b.fn.doEvent(this,"bang");return this};var e=function(){var a=this._;b.fn.doEvent(this,"recorded",[a.buffer.subarray(0,a.index)])};c.seq=function(a){var c=this._,d,f,g,h,i,j,k;f=this.cell;if(a!==this.seq_id){this.seq_id=a,d=this.args.slice(0),g=c.buffer,h=c.mul,i=c.add,f=b.fn.sumargsAR(this,d,a);if(c.status===0&&c.samples<=0){c.status=1,c.index=c.currentTime=0,c.samples+=c.interval_samples;if(!c.overwrite)for(j=g.length;j--;)g[j]=0}if(c.ison&&c.status===1){for(j=0,k=f.length;j<k;++j)g[c.index++]=f[j],f[j]=f[j]*h+i;c.index>=g.length&&(e.call(this),c.interval===Infinity?(c.status=2,c.ison=!1,b.fn.doEvent(this,"ended")):(c.status=0,b.fn.doEvent(this,"looped")))}else for(j=f.length;j--;)f[j]=f[j]*h+i;c.samples-=f.length}return f};return a}();b.fn.register("rec",S);var U=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-only",properties:{buffer:{set:function(a){var c,d,e=this._;if(typeof a=="object")if(a instanceof Float32Array)e.buffer=a;else if(a instanceof Array||a.buffer instanceof ArrayBuffer){c=new Float32Array(a.length);for(d=c.length;d--;)c[d]=a[d];e.buffer=c,e.duration=c.length/b.samplerate*1e3,e.reversed?e.phase=Math.max(0,e.buffer.length-1):e.phase=0}},get:function(){return this._.buffer}},loop:{set:function(a){this._.loop=!!a},get:function(){return this._.loop}},reversed:{set:function(a){var b=this._;b.reversed=!!a,b.reversed&&b.phase===0&&(b.phase=Math.max(0,b.buffer.length-1))},get:function(){return this._.reversed}},duration:{get:function(){return this._.duration}},currentTime:{set:function(a){typeof a=="number"&&0<=a&&a<=this._.duration&&(this._.phase=a/1e3*this._.samplerate)},get:function(){return this._.phase/this._.samplerate*1e3}}}}),d=function(a){var c,d,e,f,g;this._=g={},e=0;if(typeof a[e]=="object")if(a[e]instanceof Float32Array)c=a[e++];else if(a[e]instanceof Array||a[e].buffer instanceof ArrayBuffer){d=a[e++],c=new Float32Array(d.length);for(f=c.length;f--;)c[f]=d[f]}c===undefined&&(c=new Float32Array(0)),g.loop=typeof a[e]=="boolean"?a[e++]:!1,g.buffer=c,g.duration=c.length/b.samplerate*1e3,g.phase=0,g.reversed=!1};c.clone=function(a){var c,d=this._;c=b("buffer",d.buffer,d.loop),c._.reversed=d.reversed,c._.phase=d.reversed?Math.max(0,d.buffer.length-1):0;return b.fn.copyBaseArguments(this,c,a)},c.slice=function(a,c){var d,e=this._,f,g;g=e.reversed,typeof a=="number"?a=a/1e3*b.samplerate:a=0,typeof c=="number"?c=c/1e3*b.samplerate:c=e.buffer.length,a>c&&(f=a,a=c,c=f,g=!g),d=b("buffer"),d._.loop=e.loop,d._.reversed=g,d._.buffer=e.buffer.subarray(a,c),d._.duration=(c-a/b.samplerate)*1e3,d._.phase=g?Math.max(0,d._.buffer.length-1):0,b.fn.copy_for_clone(this,d);return d},c.bang=function(){var a=this._;a.phase=a.reversed?Math.max(0,a.buffer.length-1):0,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a,e=c.buffer,f=c.mul,g=c.add;if(c.reversed)for(h=0,i=d.length;h<i;++h)d[h]=(e[c.phase--]||0)*f+g,c.phase<0&&(c.loop?(c.phase=Math.max(0,c.buffer.length-1),b.fn.doEvent(this,"looped")):b.fn.doEvent(this,"ended"));else for(h=0,i=d.length;h<i;++h)d[h]=(e[c.phase++]||0)*f+g,c.phase>=e.length&&(c.loop?(c.phase=0,b.fn.doEvent(this,"looped")):b.fn.doEvent(this,"ended"))}return d};return a}();b.fn.register("buffer",U);var V=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["ar-only","listener"],properties:{size:{get:function(){return this._.buffersize>>1}},window:{set:function(a){var c;if(typeof a=="string"){var d=/([A-Z][a-z]+)(?:([01]\.?\d*))?/.exec(a);if(d!==null){var e=d[1],f=d[2]!==undefined?+d[2]:.25;(c=b.utils.FFT.WindowFunctions[e])!==undefined&&(this._.window=e,this._.fft.setWindow(e,f))}}},get:function(){return this._.window}},interval:{set:function(a){var c=this._;typeof a=="number"&&(c.interval=a,c.interval_samples=b.samplerate*(a/1e3)|0,c.interval_samples<c.buffersize&&(c.interval_samples=c.buffersize,c.interval=c.buffersize*b.samplerate/1e3))},get:function(){return this._.interval}},spectrum:{get:function(){return this._.spectrum}},noSpectrum:{set:function(a){this._.noSpectrum=!!a},get:function(){return this._.noSpectrum}}}}),d=function(a){var c,d,e,f,g,h;this._=e={},d=0,c=typeof a[d]=="number"?a[d++]:512,c<256?c=256:2048<c&&(c=2048),c=1<<Math.ceil(Math.log(c)*Math.LOG2E),e.fft=new b.utils.FFT(c),typeof a[d]=="number"?this.interval=a[d++]:this.interval=100,typeof a[d]=="string"&&b.utils.FFT.WindowFunctions[a[d]]!==undefined?this.window=a[d++]:this.window="Hann",typeof a[d]=="function"&&(this.onfft=a[d++]),this.args=a.slice(d).map(b),e.status=0,e.samples=0,e.buffersize=c,e.samplerate=b.samplerate,e.buffer=new Float32Array(c),e.index=0,e.noSpectrum=!1,e.spectrum=new Float32Array(c>>1)};c.clone=function(a){var c,d=this._;c=b("fft",d.buffersize),c._.window=d.window,c._.interval=d.interval,c._.interval_samples=d.interval_samples;return b.fn.copyBaseArguments(this,c,a)},c.seq=function(a){var c=this._,d,f,g,h,i,j,k,l;d=this.cell;if(a!==this.seq_id){this.seq_id=a,f=this.args.slice(0),g=c.buffer,h=c.buffersize,i=c.mul,j=c.add,d=b.fn.sumargsAR(this,f,a);for(k=0,l=d.length;k<l;++k)c.samples<=0&&c.status===0&&(c.status=1,c.index=0,c.samples+=c.interval_samples),c.status===1&&(g[c.index++]=d[k],h<=c.index&&(c.ison&&e.call(this,g),c.status=0)),d[k]=d[k]*i+j,--c.samples}return d};var e=function(a){var c=this._,d,e,f,g,h,i,j,k,l,m,n;d=c.fft,d.forward(a),e=d.real,f=d.imag;if(!c.noSpectrum){h=Math.sqrt,g=c.spectrum,i=a.length,j=i>>1;for(k=i;k--;)l=e[k],m=f[k],n=i*h(l*l+m*m),g[k]=n}b.fn.doEvent(this,"fft",[e,f])};return a}();b.fn.register("fft",V);var W=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["kr-only","timer"],properties:{interval:{set:function(a){typeof a=="number"&&a>=0&&(this._.interval=a)},get:function(){return this._.interval}},delay:{set:function(a){typeof a=="number"&&a>=0&&(this._.delay=a,this._.delaySamples=b.samplerate*(a/1e3)|0)},get:function(){return this._.delay}},count:{set:function(a){typeof a=="number"&&(this._.count=a)},get:function(){return this._.count}},currentTime:{get:function(){return this._.currentTime}}}}),d=function(a){var c=this._={};c.ison=!1,c.samples=c.count=c.currentTime=0;var d=0,e=[];while(typeof a[d]=="number")e.push(a[d++]);switch(e.length){case 1:this.delay=0,this.interval=e[0];break;case 2:this.delay=e[0],this.interval=e[1];break;default:this.delay=0,this.interval=1e3}this.args=a.slice(d).map(b)};c.clone=function(a){return b("interval",this._.delay,this._.interval)},c.bang=function(){var a=this._;a.delaySamples=b.samplerate*(a.delay/1e3)|0,a.samples=a.count=a.currentTime=0,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._;if(a!==this.seq_id){this.seq_id=a,c.delaySamples>0&&
(c.delaySamples-=b.cellsize);if(c.delaySamples<=0){c.samples-=b.cellsize;if(c.samples<=0){c.samples+=b.samplerate*c.interval/1e3|0;var d=this.args.slice(0);for(var e=0,f=d.length;e<f;++e)d[e].bang();++c.count}}c.currentTime+=b.cellsize*1e3/b.samplerate}return this.cell};return a}();b.fn.register("interval",W);var X=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["kr-only","timer"],properties:{timeout:{set:function(a){typeof a=="number"&&a>0&&(this._.timeout=a,this._.timeout_samples=b.samplerate*(a/1e3)|0)},get:function(){return this._.timeout}},currentTime:{get:function(){return this._.currentTime}}}}),d=function(a){var c=this._={};c.ison=!1,c.samples=c.currentTime=0;var d=0;typeof a[d]=="number"?this.timeout=a[d++]:this.timeout=1e3,this.args=a.slice(d).map(b)};c.clone=function(a){return b("timeout",this._.timeout)},c._.on=function(){this._.samples=this._.timeout_samples},c.bang=function(){var a=this._;a.samples=a.timeout_samples,a.currentTime=0,b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._;if(a!==this.seq_id){this.seq_id=a,c.samples-=b.cellsize;if(c.samples<=0){c.samples=0;var d=this.args.slice(0);for(var e=0,f=d.length;e<f;++e)d[e].bang();c.samples<=0&&this.off()}c.currentTime+=b.cellsize*1e3/b.samplerate}return this.cell};return a}();b.fn.register("timeout",X);var Y=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["kr-only","timer"],properties:{mode:{get:function(){return this._.mode}},bpm:{set:function(a){this._.mode==="bpm"&&typeof a=="number"&&a>0&&f.call(this,a)},get:function(){return this._.bpm}},currentTime:{get:function(){return this._.currentTime}}}}),d=function(a){var b=this._={ev:{}};b.bpm=0,b.mode="msec",b.msec=1,b.timetable=[],b.index=0,b.ison=!1,b.currentTime=0,b.loopcount=0,b.inseq=!1,b.updated=!1;var c=0;typeof a[c]=="string"&&e.call(this,a[c++]),typeof a[c]=="object"&&a[c]instanceof Array&&this.append(a[c++]),typeof a[c]=="boolean"?b.loop=a[c++]:b.loop=!1};c.clone=function(a){var c=this._,d=b("schedule");d._.mode=c.mode,d._.msec=c.msec;return d};var e=function(a){var c,d=this._;if(c=/^bpm\s*\(\s*(\d+(?:\.\d*)?)\s*(?:,\s*(\d+))?\s*\)/.exec(a))d.mode="bpm",d.bpm=c[1]|0,d.len=c[2]|0||16,d.msec=b.utils.bpm2msec(d.bpm,d.len)},f=function(a){var c,d,e,f,g=this._;c=b.utils.bpm2msec(a,g.len),d=c/g.msec,e=g.timetable;for(f=e.length;f--;)e[f][0]*=d;g.currentTime*=d,g.msec=c,g.bpm=a};c.bang=function(){var a=this._;a.index=a.currentTime=a.loopcount=0,b.fn.doEvent(this,"bang");return this},c.append=function(){var a=this._,c=a.timetable,d=c[a.index],e=[];for(var f=0,g=arguments.length;f<g;++f){var h=arguments[f];for(var i=0,j=h.length;i<j;++i){var k=h[i];if(typeof k!="object")continue;if(!(k instanceof Array))continue;if(k.length===0)continue;c.push(k),e.push(k),k.onappended&&k.onappended(this,k[0]),d&&k[0]<d[0]&&(a.index+=1)}}c.sort(function(a,b){return a[0]-b[0]}),b.fn.doEvent(this,"append",[e]);return this},c.remove=function(a){var c=this._,d=c.timetable,e=[];for(var f=arguments.length;f--;){var g=arguments[f];for(var h=g.length;h--;){var i=g[h];if(typeof i!="object")continue;if(!(i instanceof Array))continue;if(i.length===0)continue;var j=d[c.index],k=0;for(var l=d.length;l--;){var m=d[l];m[0]===i[0]&&m[1]==i[1]&&(d.splice(l,1),e.unshift(m),m.onremoved&&m.onremoved(this,g[0]),k+=1)}j&&m[0]<j[0]&&(c.index-=k)}}b.fn.doEvent(this,"remove",[e]);return this},c.update=function(){var a=this._;if(a.inseq)a.updated=!0;else{var b=a.timetable;b.sort(function(a,b){return a[0]-b[0]});var c=b.length-1,d=a.currentTime,e=a.msec;while(b[c]&&d<b[c][0]*e)c-=1;a.index=c}},c.getSchedules=function(a,b){var c=this._,d=c.timetable,e=[];a===undefined?(a=0,b=Infinity):b===undefined&&(b=a);if(a===b)for(var f=d.length;f--;){var g=d[f];a===g[0]&&e.unshift(g)}else for(var f=d.length;f--;){var g=d[f];a<=g[0]&&g[0]<b&&e.unshift(g)}return e},c.seq=function(a){var c=this._,d,e;if(a!==this.seq_id){this.seq_id=a;var f=c.timetable,g=c.msec;c.inseq=!0;while((d=f[c.index])!==undefined){if(c.currentTime<d[0]*g)break;(e=d[1])!==undefined&&(typeof e=="function"?e.apply(d,d[2]):b.fn.isTimbreObject(e)&&e.bang()),++c.index}c.inseq=!1,c.updated&&this.update();if(c.index>=f.length){var h=f.length-1;if(c.loop)c.currentTime-=f[h][0]*g||0,c.index=0,b.fn.doEvent(this,"looped",[++c.loopcount]);else{b.fn.doEvent(this,"ended");var i=c.currentTime;while(f[h]&&i<=f[h][0]*g)h-=1;h===f.length-1?this.off():h!==-1&&(c.index=h)}}c.currentTime+=b.cellsize/b.samplerate*1e3}return this.cell};return a}();b.fn.register("schedule",Y);var Z=function(){var a=function(){o.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:["kr-only","timer"],properties:{mml:{set:function(a){var b=this._;if(typeof a=="string"){var c=b.tracks[b.selected];c?c.compile(a):b.tracks[b.selected]=new n(this,a)}else if(a===null)delete b.tracks[b.selected];else if(typeof a=="object")for(var d in a){var e=a[d],c=b.tracks[d];e===null?delete b.tracks[d]:c?c.compile(e):b.tracks[d]=new n(this,e)}},get:function(){var a=this._;return a.tracks[a.selected]}},bpm:{set:function(a){typeof a=="number"&&1<=a&&a<=511&&(this._.bpm=a)},get:function(){return this._.bpm}},selected:{set:function(a){var b=this._;(typeof a=="string"||typeof a=="number")&&b.tracks[a]instanceof n&&(b.selected=a)},get:function(){return this._.selected}},synth:{set:function(a){b.fn.isTimbreObject(a)&&(this._.synth=a)},get:function(){return this._.synth}},synthdef:{set:function(a){var b=this._;if(typeof a=="function"){b.synthdef=a;var c=b.synth;if(c)while(c.args.length>0){var d=c.args.shift();d&&d.tnum&&delete c.keyon[d.tnum]}}},get:function(){return this._.synthdef}},synthpoly:{set:function(a){typeof a=="number"&&(this._.synthpoly=a)},get:function(){return this._.synthpoly}},currentTime:{get:function(){return this._.currentTime}}}}),d=0,e=1,f=2,g=3,h=4,i=function(a,b,c,d){this.name=a,"><lovkqt&".indexOf(a)!==-1?this.type=f:"$[|]".indexOf(a)!==-1?this.type=g:a.charAt(0)==="@"?this.type=h:this.type=e,this.sign=b,c!==""?this.length=c|0:this.length=undefined,this.dot=(d||"").length,this.tie=!1},j=/([><lovkqt&$\[|\]cdefgabr]|@[_a-z]*)([-+#=]?)(\d*)(\.*)/ig,k=[1,1.5,1.75,1.875],l=function(a,b,c){var d=l.table[a]||0;b==="-"?--d:(b==="+"||b==="#")&&++d,d+=(c+1)*12;return d};l.table={c:0,d:2,e:4,f:5,g:7,a:9,b:11};var m=function(a){return m.table[a]||0};m.table=function(){var a,b,c,d;a=new Float32Array(8192),b=Math.pow(2,1/768);for(c=0,d=a.length;c<d;++c)a[c]=440*Math.pow(b,c-4416);return a}();var n=function(){var a=function(){h.apply(this,arguments)},c=a.prototype,h=function(a,b){this.parent=a,this.mml=b,this.octave=4,this.length=4,this.dot=0,this.detune=0,this.quantize=6,this.volume=8,this.compile(b)};c.compile=function(a){var b=this._,c,d=j,f=[];while((c=d.exec(a))!==null)f.push(new i(c[1],c[2],c[3],c[4]));this.commands=f,this.index=0,this.segnoIndex={},this.loopStack=[];var h=null,k=!1,l=this.segnoIndex;for(var m=0,n=f.length;m<n;++m){var o=f[m];if(o.name==="$"){var q=o.length;q===undefined&&(q=0),l[q]=m}else o.type===e?(h=o,k=!1):o.type===g?k=!0:o.name==="&"&&h&&!k&&(h.tie=!0)}p.call(this.parent)},c.bang=function(){this.index=0,this.loopStack=[]},c.segno=function(a){a=this.segnoIndex[a],a!==undefined&&(this.index=a)},c.fetch=function(){var a=this.commands[this.index++];if(a===undefined)return{type:d};var c=a.length;if(a.type===f){switch(a.name){case">":this.octave>0&&(this.octave-=1);break;case"<":this.octave<9&&(this.octave+=1);break;case"l":0<=c&&c<=1920&&(this.length=c,this.dot=a.dot);break;case"o":0<=c&&c<=9&&(this.octave=c);break;case"k":0<=c&&c<=8192&&(a.sign==="-"?this.detune=-c:this.detune=+c);break;case"q":0<=c&&c<=8&&(this.quantize=c);break;case"v":0<=c&&c<=128&&(this.volume=a.length);break;case"t":1<=c&&c<=511&&(this.parent._.bpm=c,b.fn.doEvent(this.parent,"bpm",[c]))}a=this.fetch()}else if(a.type===g){var e=this.loopStack;switch(a.name){case"[":c===undefined&&(c=2),e.push({count:c,begin:this.index,end:null});break;case"]":if(e.length!==0){var h=e[e.length-1];h.end===null&&(h.end=this.index,typeof c=="number"&&(h.count=c|0)),h.count>1?(--h.count,this.index=h.begin):e.pop()}break;case"|":if(e.length===0)return{type:d};var h=e[e.length-1];h.count<=1&&(this.index=h.end,e.pop())}a=this.fetch()}return a};return a}(),o=function(a){var b=this._={};b.bpm=120,b.samples=Infinity,b.keyons=[],b.keyons.samples=0,b.tie=!1,b.synth=null,b.synthdef=null,b.synthpoly=4;var c={};if(typeof a[0]=="object"){var d=a[0];for(var e in d)c[e]=new n(this,d[e])}else for(var f=0,g=a.length;f<g;++f)c[f]=new n(this,a[f]);b.tracks=c,b.selected=0,b.endedEvent=!1,c[b.selected]&&(b.samples=0),this.onmml=q},p=function(){var a=this._,c=a.keyons;while(c.length)b.fn.doEvent(this,"mml",[{cmd:"keyoff",tnum:c.shift()}]);a.samples+=c.samples,c.samples=0},q=function(a){var b=this._,c=b.synth,d=b.synthdef;if(!!c&&!!d){c.keyon||(c.keyon={});if(a.cmd==="keyon"){var e=c.keyon[a.tnum];if(e===undefined){e=d(a.freq,a);if(e===undefined)return;e.tnum=a.tnum,c.keyon[e.tnum]=e,c.append(e)}else e.removeFrom(c).appendTo(c);e.keyon&&e.keyon(a),c.args.length>b.synthpoly&&delete c.keyon[c.args.shift().tnum]}else if(a.cmd==="keyoff"){var e=c.keyon[a.tnum];e!==undefined&&e.keyoff&&e.keyoff(a)}}};c.bang=function(){var a=this._;p.call(this);var c=a.tracks[a.selected];c?(c.bang(),a.samples>0&&(a.samples=0),a.endedEvent=!1):a.samples=Infinity,a.tie=!1,b.fn.doEvent(this,"bang");return this},c._.on=function(){this.bang()},c.segno=function(a){var b=this._,c=b.tracks[b.selected];c&&c.segno(a)},c.seq=function(a){var c=this._;if(a!==this.seq_id){this.seq_id=a;var f=c.keyons;c.sentinel=!1;while(c.samples<=0){if(f.length>0&&!c.tie){p.call(this);continue}for(;;){var g=c.tracks[c.selected];if(g===undefined)break;var i=g.fetch();if(i.type===e){var j=i.dot;j===0&&i.length===undefined&&(j=g.dot);var n=i.length;n===undefined&&(n=g.length);if(i.name!=="r"){var o=l(i.name,i.sign,g.octave),q=m((o<<6)+g.detune);c.tie?o=c.keyons[c.keyons.length-1]:c.keyons.push(o),b.fn.doEvent(this,"mml",[{cmd:"keyon",freq:q,tnum:o,volume:g.volume,length:n,tie:c.tie}]),c.tie=i.tie}else o=0,c.tie=!1;if(n===0)continue;var r=b.samplerate*(60/c.bpm)*(4/n);r*=k[j]||1;if(o!==0&&!c.tie){var s=r*(g.quantize/8)|0;f.samples=r-s,c.samples+=s}else c.samples+=r|0}else if(i.type===h){var t=null;i.length!==undefined&&(t=i.length,i.sign==="-"&&(t*=-1)),b.fn.doEvent(this,"external",[{cmd:i.name,value:t}])}else i.type===d&&(c.sentinel?c.samples=Infinity:(c.sentinel=!0,c.endedEvent=!0,g.segnoIndex[0]===undefined?(b.fn.doEvent(this,"ended"),c.endedEvent&&(c.samples=Infinity)):(g.index=g.segnoIndex[0],b.fn.doEvent(this,"segno")),c.endedEvent=!1));break}}c.samples-=b.cellsize,c.currentTime+=b.cellsize/b.samplerate*1e3}return this.cell};return a}();b.fn.register("mml",Z);var $=function(){var a=function(){d.apply(this,arguments)},c=b.fn.buildPrototype(a,{base:"ar-kr",properties:{version:{set:function(b){var c,d=this._;typeof b=="string"&&b!==d.version&&(c=a.Versions[b])!==undefined&&(d.version=b,d.synth&&d.synth.destroy&&d.synth.destroy(this),d.synth=c(this))},get:function(){return this._.version}}}}),d=function(b){var c,d;this._=d={},c=0,typeof b[c]=="string"&&a.Versions[b[c]]!==undefined?this.version=b[c++]:this.version="0.1"};c.clone=function(a){var c;c=b("timbre",this._.version);return b.fn.copyBaseArguments(this,c,a)},c.bang=function(){this._.synth&&this._.synth.bang(),b.fn.doEvent(this,"bang");return this},c.seq=function(a){var c=this._,d,e,f,g,h,i;if(!c.ison)return b._.none;d=this.cell;if(a!==this.seq_id){this.seq_id=a;if(c.synth){g=c.synth.seq(a),e=c.mul,f=c.add;for(h=g.length;h--;)d[h]=g[h]*e+f}}return d};return a}();b.fn.register("timbre",$),$.Versions={},$.Versions["0.1"]=function(a){var b=T("+");b.onbang=function(){var a,c,d;a=T("*"),c=T("pulse",987.7666,.25),d=T("adsr",0,80,1,720).bang(),a.append(c,d),d.onS=function(){c.freq.value=1318.5102,d.keyoff()},d.onended=function(){b.remove(a)},b.append(a)};return b},b.utils=function(a){var b={$exports:{}};b.mtof=function(){var a=function(){var a=new Float32Array(128);for(var b=0;b<128;b++)a[b]=440*Math.pow(Math.pow(2,1/12),b-69);return a}();return function(b){return 0<=b&&b<128?a[b|0]:0}}(),b.ftom=function(a){return Math.round(Math.log(a/440)*Math.LOG2E*12+69)},b.mtoa=function(){var a=["c","c+","d","d+","e","f","f+","g","g+","a","a+","b"];return function(b){var c=(b|0)%12,d=(b|0)/12;return a[c]+((d|0)-2)}}(),b.ftoa=function(a){return b.mtoa(b.ftom(a))},b.atom=function(){var a=/^([CDEFGABcdefgab])([-+#b]?)([0-9]?)$/,b={c:0,d:2,e:4,f:5,g:7,a:9,b:11},c=function(d){var e,f=0;if((e=d.match(a))!==null){f=b[e[1].toLowerCase()];switch(e[2]){case"+":case"#":++f;break;case"-":case"b":--f}f+=12*((e[3]|0)+2+c.octaveshift)}return f};c.octaveshift=0;return c}(),b.atof=function(a){return b.mtof(b.atom(a))},b.bpm2msec=function(a,b){typeof b=="undefined"&&(b=4);return 60/a*(4/b)*1e3},b.msec2bpm=function(a,b){typeof b=="undefined"&&(b=4);return 60/(a/1e3)*(4/b)},b.msec2hz=function(a){return 1e3/a},b.hz2msec=function(a){return 1e3/a},b.bpm2hz=function(a,b){typeof b=="undefined"&&(b=4);return 1e3/(60/a*(4/b)*1e3)},b.hz2bpm=function(a,b){typeof b=="undefined"&&(b=4);return 60/(1e3/msec/1e3)*(4/b)},b.num2db=function(a){return-20*Math.log(a)*Math.LOG10E},b.db2num=function(a){return Math.pow(10,a/-20)},b.$exports.converter=["mtof","ftom","mtoa","ftoa","atom","atof","bpm2msec","msec2bpm","msec2hz","msec2hz","bpm2hz","hz2bpm"],b.range=function(){var a,b,c,d,e=[];switch(arguments.length){case 1:a=0,b=arguments[0]|0,c=1;break;case 2:a=arguments[0]|0,b=arguments[1]|0,c=1;break;case 3:a=arguments[0]|0,b=arguments[1]|0,c=arguments[2]|0}if(c>0)for(d=a;d<b;d+=c)e.push(d);else for(d=a;d>b;d+=c)e.push(d);return e},function(a){var c=function(a){var b=new Uint32Array(32);this.seed=function(a){var c;typeof a!="number"&&(a=+(new Date)*1e3+Math.random()*1e3),a|=0,b[0]=3,b[1]=a;for(c=2;c<=31;++c)a=16807*a&2147483647,b[c]=a;for(c=310;c--;)this.next()},this.next=function(){var a=b[0];a=a===31?1:a+1,b[0]=a,b[a]+=a>3?b[a-3]:b[a+31-3];return(b[a]>>>1)/2147483647},this.seed(a)};a.Random=c;var d=new c,e=function(a){d.seed(a)};a.seed=e;var f=function(){return h(b.range.apply(null,arguments))};a.randrange=f;var g=function(a,b){return a+(b-a+1)*d.next()|0};a.randint=g;var h=function(a){return a[a.length*d.next()|0]};a.choice=h;var i=function(a,b){var e;typeof b=="number"?e=new c(b):e=d,a.sort(function(){return e.next()-e.next()});return a};a.shuffle=i;var a=function(){return d.next()};a.random=a;var j=function(a,b){return a+(b-a)*d.next()};a.uniform=j,b.$exports.random=["random"]}(b.random={});var c=function(){var a=function(){d.apply(this,arguments)},b=a.prototype,c={get:function(a){return c[a]||function(){var b=function(){var b,c,d,e,f;b=new Int16Array(a),f=a>>1,c=d=0;for(;;){b[c]=d;if(++c>=a)break;e=f;while(e<=d)d-=e,e>>=1;d+=e}return b}(),d,e=Math.floor(Math.log(a)/Math.LN2),f=new Float32Array((1<<e)-1),g=new Float32Array((1<<e)-1),h=Math.PI*2;for(d=f.length;d--;)f[d]=Math.sin(h*(d/a)),g[d]=Math.cos(h*(d/a));return c[a]={bitrev:b,sintable:f,costable:g}}()}},d=function(a){a=typeof a=="number"?a:512,a=1<<Math.ceil(Math.log(a)*Math.LOG2E),this.length=a,this.buffer=new Float32Array(a),this.real=new Float32Array(a),this.imag=new Float32Array(a),this._real=new Float32Array(a),this._imag=new Float32Array(a),this._window=new Float32Array(a);for(var b=a;b--;)this._window[b]=1;var d=c.get(a);this._bitrev=d.bitrev,this._sintable=d.sintable,this._costable=d.costable};b.setWindow=function(b,c){var d=a.WindowFunctions[b];if(d!==undefined){var e=this._window,f=0,g=this.length;c=typeof c=="number"?c:.25;for(;f<g;++f)e[f]=d(f,g,c)}},b.forward=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b=this.buffer,d=this.real,e=this.imag,c=this._window,f=this._bitrev,g=this._sintable,h=this._costable,k=b.length;for(i=k;i--;)b[i]=a[i]*c[i];for(i=k;i--;)d[i]=b[f[i]],e[i]=0;for(l=1;l<k;l=m){n=0,m=l+l,o=k/m;for(j=0;j<l;j++){p=h[n],q=g[n];for(i=j;i<k;i+=m)r=i+l,s=q*e[r]+p*d[r],t=p*e[r]-q*d[r],d[r]=d[i]-s,d[i]+=s,e[r]=e[i]-t,e[i]+=t;n+=o}}return{real:d,imag:e}},b.inverse=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;c=this.buffer,d=this._real,e=this._imag,f=this._bitrev,g=this._sintable,h=this._costable,k=c.length;for(i=k;i--;)j=f[i],d[i]=+a[j],e[i]=-b[j];for(l=1;l<k;l=m){n=0,m=l+l,o=k/m;for(j=0;j<l;j++){p=h[n],q=g[n];for(i=j;i<k;i+=m)r=i+l,s=q*e[r]+p*d[r],t=p*e[r]-q*d[r],d[r]=d[i]-s,d[i]+=s,e[r]=e[i]-t,e[i]+=t;n+=o}}for(i=k;i--;)c[i]=d[i]/k;return c};return a}();b.FFT=c,c.WindowFunctions=function(){var a=Math.PI,b=Math.PI*2,c=Math.abs,d=Math.pow,e=Math.cos,f=Math.sin,g=function(b){return f(a*b)/(a*b)},h=Math.E;return{Rectangular:function(){return 1},Hann:function(a,c){return.5*(1-e(b*a/(c-1)))},Hamming:function(a,c){return.54-.46*e(b*a/(c-1))},Tukery:function(b,c,d){return b<d*(c-1)/2?.5*(1+e(a*(2*b/(d*(c-1))-1))):(c-1)*(1-d/2)<b?.5*(1+e(a*(2*b/(d*(c-1))-2/d+1))):1},Cosine:function(b,c){return f(a*b/(c-1))},Lanczos:function(a,b){return g(2*a/(b-1)-1)},Triangular:function(a,b){return 2/(b+1)*((b+1)/2-c(a-(b-1)/2))},Bartlett:function(a,b){return 2/(b-1)*((b-1)/2-c(a-(b-1)/2))},Gaussian:function(a,b,c){return d(h,-0.5*d((a-(b-1)/2)/(c*(b-1)/2),2))},BartlettHann:function(a,d){return.62-.48*c(a/(d-1)-.5)-.38*e(b*a/(d-1))},Blackman:function(c,d,f){var g=(1-f)/2,h=.5,i=f/2;return g-h*e(b*c/(d-1))+i*e(4*a*c/(d-1))}}}(),b.wavb=function(a){var b=new Float32Array(1024),c=a.length>>1;if(c===2||c===4||c===8||c===16||c===32||c===64)for(var d=0,e=0;d<c;++d){var f=parseInt(a.substr(d*2,2),16);f=f&128?(f-256)/128:f/127;for(var g=1024/c;g--;)b[e++]=f}return b},b.wavc=function(a){var b=new Float32Array(1024);if(a.length===8){var c=parseInt(a,16),d=new Float32Array(8),e=Math.PI*2,f=Math.sin,g=Math.abs,h,i;d[0]=1;for(h=0;h<7;++h,c>>=4)d[h+1]=(c&15)/16;var j=0,k;for(h=0;h<8;++h){var l=0,m=(h+1)/1024;for(i=0;i<1024;++i)b[i]+=f(e*l)*d[h],l+=m,j<(k=g(b[i]))&&(j=k)}if(j>0)for(h=1024;h--;)b[h]/=j}return b},function(b){var c=function(a,b){typeof a=="function"?a(b):typeof a=="object"&&(a.buffer=b)},d=function(a,b){if(typeof a=="string"){var d=new XMLHttpRequest;d.open("GET",a,!0),d.responseType="arraybuffer",d.onload=function(){c(b,d.response)},d.send()}},e=function(a,b){var c;typeof a=="string"&&((c=/^(https?):\/\/(.*?)(\/.*)?$/.exec(a))!==null?f(c[1],{host:c[2],path:c[3]||""},b):g(a,b))},f=function(a,b,d){require(a).get(b,function(a){var b,e;a.statusCode===200&&(b=new ArrayBuffer(a.headers["content-length"]),e=0,a.on("data",function(a){var c,d;for(c=0,d=a.length;c<d;++c)b[e++]=a[c]}),a.on("end",function(){c(d,b)}))})},g=function(a,b){require("fs").readFile(a,function(a,d){var e,f;if(a)console.warn(a);else{e=new ArrayBuffer(d.length);for(f=e.byteLength;f--;)e[f]=d[f];c(b,e)}})};b.load=function(b,c){if(typeof c=="function"||typeof c=="object")a.platform==="web"?d(b,c):a.platform==="node"&&e(b,c)}}(b.binary={}),function(a){var b=function(a,b,c,d){typeof c=="function"?c({samplerate:a,buffer:b,err:d}):typeof c=="object"&&(c.samplerate=a,c.buffer=b,c.err=d)};a.decode=function(a,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(!a instanceof ArrayBuffer)b(0,null,c,"TypeError: wave.decode is expected an ArrayBuffer");else{a=new Uint8Array(a);if(a[0]!==82||a[1]!==73||a[2]!==70||a[3]!==70){b(0,null,c,"HeaderError: not exists 'RIFF'");return}g=a[4]+(a[5]<<8)+(a[6]<<16)+(a[7]<<24);if(g+8!==a.length){b(0,null,c,"HeaderError: invalid data size");return}if(a[8]!==87||a[9]!==65||a[10]!==86||a[11]!==69){b(0,null,c,"HeaderError: not exists 'WAVE'");return}if(a[12]!==102||a[13]!==109||a[14]!==116||a[15]!==32){b(0,null,c,"HeaderError: not exists 'fmt '");return}i=a[16]+(a[17]<<8)+(a[18]<<16)+(a[19]<<24),j=a[20]+(a[21]<<8),k=a[22]+(a[23]<<8),l=a[24]+(a[25]<<8)+(a[26]<<16)+(a[27]<<24),m=a[28]+(a[29]<<8)+(a[30]<<16)+(a[31]<<24),n=a[32]+(a[33]<<8),o=a[34]+(a[35]<<8);if(a[36]!==100||a[37]!==97||a[38]!==116||a[39]!==97){b(0,null,c,"HeaderError: not exists 'data'");return}h=a[40]+(a[41]<<8)+(a[42]<<16)+(a[43]<<24),p=(h/k>>1)/l;if(h>a.length-44){b(0,null,c,"HeaderError: not exists data");return}d=new Int16Array(p*l|0),o===8?q=new Int8Array(a.buffer,44):o===16?q=new Int16Array(a.buffer,44):o===32?q=new Int32Array(a.buffer,44):o===24&&(q=function(){var b,c,d,e,f,g,h,i,j;b=new Int32Array((a.length-44)/3),j=0;for(h=44,i=a.length;h<i;)c=a[h++],d=a[h++],e=a[h++],f=c+(d<<8)+(e<<16),g=f&8388608?-((f^16777215)+1):f,b[j++]=g;return b}());if(q){if(k===1){(function(){var a,e,f;e=1/(1<<o-1)*32768,f=1/((1<<o-1)-1)*32767;for(a=d.length;a--;)d[a]=q[a]*(q[a]<0?e:f);b(l,d,c)})();return}if(k===2){(function(){var a,e,f,g,h,i,j,k;j=1/(1<<o-1),k=1/((1<<o-1)-1);for(a=e=0,f=d.length;e<f;a+=2,++e)h=q[a]*(q[a]<0?j:k),i=q[a+1]*(q[a+1]<0?j:k),g=(h+i)*.5,d[e]=g*(g<0?32768:32767);b(l,d,c)})();return}}b(0,null,c,"not implementation")}}}(b.wav={}),function(b){var c=function(c){var d,e,f,g,h=[];if((d=b.$exports[c])!==undefined)for(f=d.length;f--;)g=d[f],a.context[g]=b[g],h.unshift(g);else{e=c.split(".");for(g=b;g&&e.length;g=g[c])c=e.shift();g&&e.length===0&&(a.context[c]=g,h=[c])}return h.join(",")};b.exports=function(){var a,b,d,e=[];for(a=0,b=arguments.length;a<b;a++)typeof arguments[a]=="string"&&(d=c(arguments[a]),d&&(e=e.concat(d)));return e.join(",")}}(b);return b}(b),typeof window=="object"&&function(a,b){var c=function(){var b=function(){e.apply(this,arguments)},c=b.prototype,d=function(){var b="var t=0;onmessage=function(e){clearInterval(t);if(i=e.data)t=setInterval(function(){postMessage(0)},i)}",c=null;if(a.Blob)try{c=new Blob([b],{type:"text/javascript"})}catch(d){c=null}if(c===null){var e=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder;if(e){var f=new e;f.append(b),c=f.getBlob()}}if(c!==null){var g=a.URL||a.webkitURL;return g.createObjectURL(c)}return null}(),e=function(){d?this._timer=new Worker(d):this._timer=null,this._timerId=0,this._ugly_patch=0};c.setInterval=function(b,c){this._timer!==null?(this._timer.onmessage=b,this._timer.postMessage(c),/firefox/i.test(a.navigator.userAgent)&&(a.clearInterval(this._ugly_patch),this._ugly_patch=a.setInterval(function(){},1e3))):(this._timerId!==0&&a.clearInterval(this._timerId),this._timerId=a.setInterval(b,c))},c.clearInterval=function(){this._timer!==null?(this._timer.postMessage(0),this._ugly_patch&&(a.clearInterval(this._ugly_patch),this._ugly_patch=0)):this._timerId!==0&&(a.clearInterval(this._timerId),this._timerId=0)};return b}(),d=function(a){this.ctx=new webkitAudioContext;var c=this.ctx.sampleRate;this.setup=function(){b.fn._setupTimbre(c),this.streamsize=b.streamsize;if(b.samplerate===c)this.onaudioprocess=function(b){var c,d,e,f,g;a.process(),c=a.L,d=a.R,e=b.outputBuffer.getChannelData(0),f=b.outputBuffer.getChannelData(1);for(g=e.length;g--;)e[g]=c[g],f[g]=d[g]};else{var d=b.samplerate/c;this.onaudioprocess=function(b){var c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;c=a.L,e=a.R,f=b.outputBuffer.getChannelData(0),g=b.outputBuffer.getChannelData(1),h=f.length,i=this.streamsize,j=this.x,k=this.prevL,l=this.prevR;for(r=0,s=f.length;r<s;++r)j>=i&&(a.process(),j-=i),m=j|0,n=1-(j-m),p=c[m],q=(1-n)*k+n*p,k=p,f[r]=q,p=e[m],q=(1-n)*l+n*p,l=p,g[r]=q,j+=d;this.x=j,this.prevL=k,this.prevR=l}.bind(this)}return this},this.on=function(){this.x=this.streamsize,this.prevL=this.prevR=0,this.src=this.ctx.createBufferSource(),this.node=this.ctx.createJavaScriptNode(a.streamsize,1,a.channels),this.node.onaudioprocess=this.onaudioprocess,this.src.noteOn(0),this.src.connect(this.node),this.node.connect(this.ctx.destination)},this.off=function(){this.src.disconnect(),this.node.disconnect(),this.src=this.node=null};return this},e=function(a){this.timer=new c,this.setup=function(){b.fn._setupTimbre(44100),this.audio=new Audio,this.audio.mozSetup(b.channels,b.samplerate),b.samplerate=this.audio.mozSampleRate,b.channels=this.audio.mozChannels,this.interleaved=new Float32Array(b.streamsize*b.channels),this.onaudioprocess=function(){var b=this.audio.mozCurrentSampleOffset(),c=this.interleaved;this.audio.mozWriteAudio(c),a.process();var d=a.L,e=a.R,f=c.length,g=d.length;while(g--)c[--f]=e[g],c[--f]=d[g]}.bind(this);return this},this.on=function(){var a=b.streamsize/b.samplerate*1e3;this.timer.setInterval(this.onaudioprocess,a)},this.off=function(){var a=this.interleaved;for(var b=a.length;b--;)a[b]=0;this.timer.clearInterval()};return this};typeof webkitAudioContext=="function"?(b.env="webkit",b.sys.bind(d)):typeof webkitAudioContext=="object"?(b.env="webkit",b.sys.bind(d)):typeof Audio=="function"&&typeof (new Audio).mozSetup=="function"&&(b.env="moz",b.sys.bind(e)),b.utils.relpath2rootpath=function(b){if(/^https?:\/\//.test(b))return b;if(b[0]==="/")return b;var c=a.location.pathname;c=c.substr(0,c.lastIndexOf("/")),c=c.split("/").filter(function(a){return a!==""}),b=b.split("/");for(var d=0;d<b.length;++d)b[d]===".."?c.pop():b[d]!=="."&&c.push(b[d]);return"/"+c.join("/")},b.platform="web",b.context=a,function(){var a=[];a.push("timbre.js "+b.VERSION),b.env==="webkit"?a.push(" on WebAudioAPI"):b.env==="moz"&&a.push(" on AudioDataAPI"),console.log(a.join(""))}(),a.timbre=a.T=b}(a,b),typeof importScripts=="function"&&function(a,b){a.actions={},a.actions["wav.decode"]=function(c){var d;d=c.src,/\.wav$/.test(d)&&b.utils.binary.load(d,function(c){b.utils.wav.decode(c,function(b){var c,d,e;if(b.err)a.postMessage({result:undefined,err:b.err});else{c=b.buffer,a.postMessage({result:"metadata",samplerate:b.samplerate,bufferSize:c.length}),d=0;do e=c.subarray(d,d+8192),a.postMessage({result:"data",array:e,offset:d}),d+=e.length;while(e.length);a.postMessage({result:"ended"})}})})},a.onmessage=function(b){var c=a.actions[b.data.action];c!==undefined&&c(b.data)},b.platform="web",b.context=a}(a,b),typeof process=="object"&&process.title==="node"&&function(a,b){b.platform="node",b.context=global,module.exports=b;var c=null,d=function(a){var d=this;this.setup=function(){var e,f,g;b.fn._setupTimbre(44100),this.jsnode=new c.JavaScriptOutputNode(b.streamsize),e=this.jsnode.sampleRate,this.streamsize=b.streamsize,console.log("streamsize",this.streamsize),b.samplerate===e?g=function(b){var c,d,e,f,g;a.process(),c=a.L,d=a.R,e=b.getChannelData(0),f=b.getChannelData(1);for(g=b.bufferSize;g--;)e[g]=c[g],f[g]=d[g]}:(f=b.samplerate/e,g=function(b){var c,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t;c=a.L,e=a.R,g=b.getChannelData(0),h=b.getChannelData(1),i=g.length,j=d.streamsize,k=d.x,l=d.prevL,m=d.prevR;for(s=0,t=b.bufferSize;s<t;++s)k>=j&&(a.process(),k-=j),n=k|0,o=1-(k-n),q=c[n],r=(1-o)*l+o*q,l=q,g[s]=r,q=e[n],r=(1-o)*m+o*q,m=q,h[s]=r,k+=f;d.x=k,d.prevL=l,d.prevR=m}),this.jsnode.onaudioprocess=g;return this},this.on=function(){this.x=this.streamsize,this.prevL=this.prevR=0,this.jsnode.start()},this.off=function(){this.jsnode.stop()}},e=function(a){this.timerId=0,this.setup=function(){b.fn._setupTimbre(44100),this.interval=b.streamsize*1e3/b.samplerate,this.onaudioprocess=function(){a.process()}.bind(this);return this},this.on=function(){this.timerId!==0&&clearInterval(this.timerId),this.timerId=setInterval(this.onaudioprocess,this.interval)},this.off=function(){this.timerId!==0&&clearInterval(this.timerId)};return this};try{c=require("ctimbre")}catch(f){c=null}c!==null?(b.env="ctimbre",b.sys.bind(d)):(b.env="nop",b.sys.bind(e))}(a,b),b.isEnabled=!!b.sys._.impl;return b}(this)