{"version":3,"file":"./bundle.js","sources":["webpack:///./bundle.js"],"sourcesContent":["!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,\"a\",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=10)}([function(t,e,i){var n;!function(s,o){void 0!==(n=function(){return o()}.call(e,i,e,t))&&(t.exports=n)}(0,function(){\"use strict\";function t(t){t(e)}var e;/**\n\t * Tone.js\n\t * @author Yotam Mann\n\t * @license http://opensource.org/licenses/MIT MIT License\n\t * @copyright 2014-2018 Yotam Mann\n\t */\nreturn function(t){e=t()}(function(){var t=function(){if(!(this instanceof t))throw new Error(\"constructor needs to be called with the 'new' keyword\")};t.prototype.toString=function(){for(var e in t){var i=e[0].match(/^[A-Z]$/),n=t[e]===this.constructor;if(t.isFunction(t[e])&&i&&n)return e}return\"Tone\"},t.prototype.dispose=function(){return this},t.prototype.set=function(e,i,n){if(t.isObject(e))n=i;else if(t.isString(e)){var s={};s[e]=i,e=s}t:for(var o in e){i=e[o];var r=this;if(-1!==o.indexOf(\".\")){for(var a=o.split(\".\"),h=0;hthis.memory){var n=this.length-this.memory;this._timeline.splice(0,n)}return this},t.Timeline.prototype.remove=function(t){var e=this._timeline.indexOf(t);return-1!==e&&this._timeline.splice(e,1),this},t.Timeline.prototype.get=function(e,i){i=t.defaultArg(i,\"time\");var n=this._search(e,i);return-1!==n?this._timeline[n]:null},t.Timeline.prototype.peek=function(){return this._timeline[0]},t.Timeline.prototype.shift=function(){return this._timeline.shift()},t.Timeline.prototype.getAfter=function(e,i){i=t.defaultArg(i,\"time\");var n=this._search(e,i);return n+10&&this._timeline[n-1][i]=0?this._timeline[s-1]:null},t.Timeline.prototype.cancel=function(t){if(this._timeline.length>1){var e=this._search(t);if(e>=0)if(this._timeline[e].time===t){for(var i=e;i>=0&&this._timeline[i].time===t;i--)e=i;this._timeline=this._timeline.slice(0,e)}else this._timeline=this._timeline.slice(0,e+1);else this._timeline=[]}else 1===this._timeline.length&&this._timeline[0].time>=t&&(this._timeline=[]);return this},t.Timeline.prototype.cancelBefore=function(t){var e=this._search(t);return e>=0&&(this._timeline=this._timeline.slice(e+1)),this},t.Timeline.prototype.previousEvent=function(t){var e=this._timeline.indexOf(t);return e>0?this._timeline[e-1]:null},t.Timeline.prototype._search=function(e,i){if(0===this._timeline.length)return-1;i=t.defaultArg(i,\"time\");var n=0,s=this._timeline.length,o=s;if(s>0&&this._timeline[s-1][i]<=e)return s-1;for(;ne)return r;a[i]>e?o=r:n=r+1}return-1},t.Timeline.prototype._iterate=function(e,i,n){i=t.defaultArg(i,0),n=t.defaultArg(n,this._timeline.length-1),this._timeline.slice(i,n+1).forEach(function(t){e.call(this,t)}.bind(this))},t.Timeline.prototype.forEach=function(t){return this._iterate(t),this},t.Timeline.prototype.forEachBefore=function(t,e){var i=this._search(t);return-1!==i&&this._iterate(e,0,i),this},t.Timeline.prototype.forEachAfter=function(t,e){var i=this._search(t);return this._iterate(e,i+1),this},t.Timeline.prototype.forEachBetween=function(t,e,i){var n=this._search(t),s=this._search(e);return-1!==n&&-1!==s?(this._timeline[n].time!==t&&(n+=1),this._timeline[s].time===e&&(s-=1),this._iterate(i,n,s)):-1===n&&this._iterate(i,0,s),this},t.Timeline.prototype.forEachFrom=function(t,e){for(var i=this._search(t);i>=0&&this._timeline[i].time>=t;)i--;return this._iterate(e,i+1),this},t.Timeline.prototype.forEachAtTime=function(t,e){var i=this._search(t);return-1!==i&&this._iterate(function(i){i.time===t&&e.call(this,i)},0,i),this},t.Timeline.prototype.dispose=function(){return t.prototype.dispose.call(this),this._timeline=null,this},t.Timeline}),t(function(t){if(t.supported){!window.hasOwnProperty(\"OfflineAudioContext\")&&window.hasOwnProperty(\"webkitOfflineAudioContext\")&&(window.OfflineAudioContext=window.webkitOfflineAudioContext);new OfflineAudioContext(1,1,44100).startRendering()instanceof Promise||(OfflineAudioContext.prototype._native_startRendering=OfflineAudioContext.prototype.startRendering,OfflineAudioContext.prototype.startRendering=function(){return new Promise(function(t){this.oncomplete=function(e){t(e.renderedBuffer)},this._native_startRendering()}.bind(this))})}}),t(function(t){if(t.supported){!window.hasOwnProperty(\"AudioContext\")&&window.hasOwnProperty(\"webkitAudioContext\")&&(window.AudioContext=window.webkitAudioContext),AudioContext.prototype.close||(AudioContext.prototype.close=function(){return t.isFunction(this.suspend)&&this.suspend(),Promise.resolve()}),AudioContext.prototype.resume||(AudioContext.prototype.resume=function(){return Promise.resolve()}),!AudioContext.prototype.createGain&&AudioContext.prototype.createGainNode&&(AudioContext.prototype.createGain=AudioContext.prototype.createGainNode),!AudioContext.prototype.createDelay&&AudioContext.prototype.createDelayNode&&(AudioContext.prototype.createDelay=AudioContext.prototype.createDelayNode);var e=!1,i=new OfflineAudioContext(1,1,44100),n=new Uint32Array([1179011410,48,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,8,0,0,0,0]).buffer;try{i.decodeAudioData(n)instanceof Promise&&(e=!0)}catch(t){e=!1}e||(AudioContext.prototype._native_decodeAudioData=AudioContext.prototype.decodeAudioData,AudioContext.prototype.decodeAudioData=function(t){return new Promise(function(e,i){this._native_decodeAudioData(t,e,i)}.bind(this))})}}),t(function(t){t.Context=function(){t.Emitter.call(this);var i=t.defaults(arguments,[\"context\"],t.Context);if(!i.context&&(i.context=new window.AudioContext,!i.context))throw new Error(\"could not create AudioContext. Possibly too many AudioContexts running already.\");this._context=i.context;for(var n in this._context)this._defineProperty(this._context,n);this._latencyHint=i.latencyHint,this._constants={},this.lookAhead=i.lookAhead,this._computedUpdateInterval=0,this._ticker=new e(this.emit.bind(this,\"tick\"),i.clockSource,i.updateInterval),this._timeouts=new t.Timeline,this._timeoutIds=0,this.on(\"tick\",this._timeoutLoop.bind(this))},t.extend(t.Context,t.Emitter),t.Emitter.mixin(t.Context),t.Context.defaults={clockSource:\"worker\",latencyHint:\"interactive\",lookAhead:.1,updateInterval:.03},t.Context.prototype._defineProperty=function(e,i){t.isUndef(this[i])&&Object.defineProperty(this,i,{get:function(){return\"function\"==typeof e[i]?e[i].bind(e):e[i]},set:function(t){e[i]=t}})},t.Context.prototype.now=function(){return this._context.currentTime+this.lookAhead},t.Context.prototype.ready=function(){return new Promise(function(t){\"running\"===this._context.state?t():this._context.resume().then(function(){t()})}.bind(this))},t.Context.prototype.close=function(){return this._context.close().then(function(){t.Context.emit(\"close\",this)}.bind(this))},t.Context.prototype.getConstant=function(t){if(this._constants[t])return this._constants[t];for(var e=this._context.createBuffer(1,128,this._context.sampleRate),i=e.getChannelData(0),n=0;n1&&(this.input=new Array(t)),1===e?this.output=this.context.createGain():e>1&&(this.output=new Array(e))},Object.defineProperty(t.AudioNode.prototype,\"channelCount\",{get:function(){return this.output.channelCount},set:function(t){return this.output.channelCount=t}}),Object.defineProperty(t.AudioNode.prototype,\"channelCountMode\",{get:function(){return this.output.channelCountMode},set:function(t){return this.output.channelCountMode=t}}),Object.defineProperty(t.AudioNode.prototype,\"channelInterpretation\",{get:function(){return this.output.channelInterpretation},set:function(t){return this.output.channelInterpretation=t}}),Object.defineProperty(t.AudioNode.prototype,\"numberOfInputs\",{get:function(){return this.input?t.isArray(this.input)?this.input.length:1:0}}),Object.defineProperty(t.AudioNode.prototype,\"numberOfOutputs\",{get:function(){return this.output?t.isArray(this.output)?this.output.length:1:0}}),t.AudioNode.prototype._onConnect=function(){},t.AudioNode.prototype.connect=function(e,i,n){return e._onConnect&&e._onConnect(this),t.isArray(this.output)?(i=t.defaultArg(i,0),this.output[i].connect(e,0,n)):this.output.connect(e,i,n),this},t.AudioNode.prototype.disconnect=function(e,i,n){t.isArray(this.output)?t.isNumber(e)?this.output[e].disconnect():(i=t.defaultArg(i,0),this.output[i].disconnect(e,0,n)):this.output.disconnect.apply(this.output,arguments)},t.AudioNode.prototype.chain=function(){for(var t=this,e=0;e3&&(n=parseFloat(parseFloat(n).toFixed(3))),[i,e,n].join(\":\")},t.Time.prototype.toTicks=function(){var t=this._beatsToUnits(1),e=this.valueOf()/t;return Math.round(e*this._getPPQ())},t.Time.prototype.toSeconds=function(){return this.valueOf()},t.Time.prototype.toMidi=function(){return t.Frequency.ftom(this.toFrequency())},t.Time}),t(function(t){return t.TransportTime=function(e,i){if(!(this instanceof t.TransportTime))return new t.TransportTime(e,i);t.Time.call(this,e,i)},t.extend(t.TransportTime,t.Time),t.TransportTime.prototype._now=function(){return t.Transport.seconds},t.TransportTime}),t(function(t){return t.Type={Default:\"number\",Time:\"time\",Frequency:\"frequency\",TransportTime:\"transportTime\",Ticks:\"ticks\",NormalRange:\"normalRange\",AudioRange:\"audioRange\",Decibels:\"db\",Interval:\"interval\",BPM:\"bpm\",Positive:\"positive\",Gain:\"gain\",Cents:\"cents\",Degrees:\"degrees\",MIDI:\"midi\",BarsBeatsSixteenths:\"barsBeatsSixteenths\",Samples:\"samples\",Hertz:\"hertz\",Note:\"note\",Milliseconds:\"milliseconds\",Seconds:\"seconds\",Notation:\"notation\"},t.prototype.toSeconds=function(e){return t.isNumber(e)?e:t.isUndef(e)?this.now():t.isString(e)?new t.Time(e).toSeconds():e instanceof t.TimeBase?e.toSeconds():void 0},t.prototype.toFrequency=function(e){return t.isNumber(e)?e:t.isString(e)||t.isUndef(e)?new t.Frequency(e).valueOf():e instanceof t.TimeBase?e.toFrequency():void 0},t.prototype.toTicks=function(e){return t.isNumber(e)||t.isString(e)?new t.TransportTime(e).toTicks():t.isUndef(e)?t.Transport.ticks:e instanceof t.TimeBase?e.toTicks():void 0},t}),t(function(t){return t.Param=function(){var e=t.defaults(arguments,[\"param\",\"units\",\"convert\"],t.Param);t.AudioNode.call(this),this._param=this.input=e.param,this.units=e.units,this.convert=e.convert,this.overridden=!1,this._events=new t.Timeline(1e3),t.isDefined(e.value)&&this._param&&(this.value=e.value)},t.extend(t.Param,t.AudioNode),t.Param.defaults={units:t.Type.Default,convert:!0,param:void 0},Object.defineProperty(t.Param.prototype,\"value\",{get:function(){var t=this.now();return this._toUnits(this.getValueAtTime(t))},set:function(t){this._initialValue=this._fromUnits(t),this.cancelScheduledValues(this.context.currentTime),this.setValueAtTime(t,this.context.currentTime)}}),Object.defineProperty(t.Param.prototype,\"minValue\",{get:function(){return this.units===t.Type.Time||this.units===t.Type.Frequency||this.units===t.Type.NormalRange||this.units===t.Type.Positive||this.units===t.Type.BPM?0:this.units===t.Type.AudioRange?-1:this.units===t.Type.Decibels?-1/0:this._param.minValue}}),Object.defineProperty(t.Param.prototype,\"maxValue\",{get:function(){return this.units===t.Type.NormalRange||this.units===t.Type.AudioRange?1:this._param.maxValue}}),t.Param.prototype._fromUnits=function(e){if(!this.convert&&!t.isUndef(this.convert)||this.overridden)return e;switch(this.units){case t.Type.Time:return this.toSeconds(e);case t.Type.Frequency:return this.toFrequency(e);case t.Type.Decibels:return t.dbToGain(e);case t.Type.NormalRange:return Math.min(Math.max(e,0),1);case t.Type.AudioRange:return Math.min(Math.max(e,-1),1);case t.Type.Positive:return Math.max(e,0);default:return e}},t.Param.prototype._toUnits=function(e){if(!this.convert&&!t.isUndef(this.convert))return e;switch(this.units){case t.Type.Decibels:return t.gainToDb(e);default:return e}},t.Param.prototype._minOutput=1e-5,t.Param.AutomationType={Linear:\"linearRampToValueAtTime\",Exponential:\"exponentialRampToValueAtTime\",Target:\"setTargetAtTime\",SetValue:\"setValueAtTime\"},t.Param.prototype.setValueAtTime=function(e,i){return i=this.toSeconds(i),e=this._fromUnits(e),this._events.add({type:t.Param.AutomationType.SetValue,value:e,time:i}),this._param.setValueAtTime(e,i),this},t.Param.prototype.getValueAtTime=function(e){e=this.toSeconds(e);var i=this._events.getAfter(e),n=this._events.get(e),s=t.defaultArg(this._initialValue,this._param.defaultValue),o=s;if(null===n)o=s;else if(n.type===t.Param.AutomationType.Target){var r,a=this._events.getBefore(n.time);r=null===a?s:a.value,o=this._exponentialApproach(n.time,r,n.value,n.constant,e)}else o=null===i?n.value:i.type===t.Param.AutomationType.Linear?this._linearInterpolate(n.time,n.value,i.time,i.value,e):i.type===t.Param.AutomationType.Exponential?this._exponentialInterpolate(n.time,n.value,i.time,i.value,e):n.value;return o},t.Param.prototype.setRampPoint=function(t){t=this.toSeconds(t);var e=this.getValueAtTime(t);return this.cancelAndHoldAtTime(t),0===e&&(e=this._minOutput),this.setValueAtTime(this._toUnits(e),t),this},t.Param.prototype.linearRampToValueAtTime=function(e,i){return e=this._fromUnits(e),i=this.toSeconds(i),this._events.add({type:t.Param.AutomationType.Linear,value:e,time:i}),this._param.linearRampToValueAtTime(e,i),this},t.Param.prototype.exponentialRampToValueAtTime=function(e,i){return e=this._fromUnits(e),e=Math.max(this._minOutput,e),i=this.toSeconds(i),this._events.add({type:t.Param.AutomationType.Exponential,time:i,value:e}),this._param.exponentialRampToValueAtTime(e,i),this},t.Param.prototype.exponentialRampTo=function(t,e,i){return i=this.toSeconds(i),this.setRampPoint(i),this.exponentialRampToValueAtTime(t,i+this.toSeconds(e)),this},t.Param.prototype.linearRampTo=function(t,e,i){return i=this.toSeconds(i),this.setRampPoint(i),this.linearRampToValueAtTime(t,i+this.toSeconds(e)),this},t.Param.prototype.targetRampTo=function(t,e,i){return i=this.toSeconds(i),this.setRampPoint(i),this.exponentialApproachValueAtTime(t,i,e),this},t.Param.prototype.exponentialApproachValueAtTime=function(t,e,i){var n=Math.log(this.toSeconds(i)+1)/Math.log(200);return e=this.toSeconds(e),this.setTargetAtTime(t,e,n)},t.Param.prototype.setTargetAtTime=function(e,i,n){if(e=this._fromUnits(e),n<=0)throw new Error(\"timeConstant must be greater than 0\");return i=this.toSeconds(i),this._events.add({type:t.Param.AutomationType.Target,value:e,time:i,constant:n}),this._param.setTargetAtTime(e,i,n),this},t.Param.prototype.setValueCurveAtTime=function(e,i,n,s){s=t.defaultArg(s,1),n=this.toSeconds(n),i=this.toSeconds(i),this.setValueAtTime(e[0]*s,i);for(var o=n/(e.length-1),r=1;r=0;)this.emit(\"tick\"),this._currentTime+=this.blockTime;return this._context.startRendering()},t.OfflineContext.prototype.close=function(){return this._context=null,Promise.resolve()},t.OfflineContext}),t(function(t){if(t.supported){var e=navigator.userAgent.toLowerCase();e.includes(\"safari\")&&!e.includes(\"chrome\")&&e.includes(\"mobile\")&&(t.OfflineContext.prototype.createBufferSource=function(){var t=this._context.createBufferSource(),e=t.start;return t.start=function(i){this.setTimeout(function(){e.call(t,i)}.bind(this),0)}.bind(this),t})}}),t(function(t){return t.Gain=function(){var e=t.defaults(arguments,[\"gain\",\"units\"],t.Gain);t.AudioNode.call(this),this.input=this.output=this._gainNode=this.context.createGain(),this.gain=new t.Param({param:this._gainNode.gain,units:e.units,value:e.gain,convert:e.convert}),this._readOnly(\"gain\")},t.extend(t.Gain,t.AudioNode),t.Gain.defaults={gain:1,convert:!0},t.Gain.prototype.dispose=function(){t.AudioNode.prototype.dispose.call(this),this._gainNode.disconnect(),this._gainNode=null,this._writable(\"gain\"),this.gain.dispose(),this.gain=null},t.Gain}),t(function(t){if(t.supported&&!AudioContext.prototype.createConstantSource){var e=function(t){this.context=t;for(var e=t.createBuffer(1,128,t.sampleRate),i=e.getChannelData(0),n=0;n0){s=(1-r)/(1/s)}if(\"linear\"===this._attackCurve)this._sig.linearRampTo(i,s,e);else if(\"exponential\"===this._attackCurve)this._sig.targetRampTo(i,s,e);else if(s>0){this._sig.cancelAndHoldAtTime(e);var a=this._attackCurve;if(s0){var n=this.toSeconds(this.release);if(\"linear\"===this._releaseCurve)this._sig.linearRampTo(0,n,e);else if(\"exponential\"===this._releaseCurve)this._sig.targetRampTo(0,n,e);else{var s=this._releaseCurve;t.isArray(s)&&(this._sig.cancelAndHoldAtTime(e),this._sig.setValueCurveAtTime(s,e,n,i))}}return this},t.Envelope.prototype.getValueAtTime=function(t){return this._sig.getValueAtTime(t)},t.Envelope.prototype.triggerAttackRelease=function(t,e,i){return e=this.toSeconds(e),this.triggerAttack(e,i),this.triggerRelease(e+this.toSeconds(t)),this},t.Envelope.prototype.cancel=function(t){return this._sig.cancelScheduledValues(t),this},t.Envelope.prototype.connect=t.SignalBase.prototype.connect,function(){function e(t){for(var e=new Array(t.length),i=0;i0?h:u)+i.time}return i?0===i.value?1/0:i.time+(e-i.ticks)/i.value:e/this._initialValue},t.TickSignal.prototype.ticksToTime=function(e,i){return i=this.toSeconds(i),new t.Time(this.getDurationOfTicks(e,i))},t.TickSignal.prototype.timeToTicks=function(e,i){i=this.toSeconds(i),e=this.toSeconds(e);var n=this.getTicksAtTime(i),s=this.getTicksAtTime(i+e);return new t.Ticks(s-n)},t.TickSignal}),t(function(t){return t.TimelineState=function(e){t.Timeline.call(this),this._initial=e},t.extend(t.TimelineState,t.Timeline),t.TimelineState.prototype.getValueAtTime=function(t){var e=this.get(t);return null!==e?e.state:this._initial},t.TimelineState.prototype.setStateAtTime=function(t,e){return this.add({state:t,time:e}),this},t.TimelineState.prototype.getLastState=function(t,e){e=this.toSeconds(e);for(var i=this._search(e),n=i;n>=0;n--){var s=this._timeline[n];if(s.state===t)return s}},t.TimelineState.prototype.getNextState=function(t,e){e=this.toSeconds(e);var i=this._search(e);if(-1!==i)for(var n=i;n0&&(this._tickOffset.cancel(i.time),this._state.cancel(i.time))}return this._state.cancel(e),this._state.setStateAtTime(t.State.Stopped,e),this.setTicksAtTime(0,e),this},t.TickSource.prototype.pause=function(e){return e=this.toSeconds(e),this._state.getValueAtTime(e)===t.State.Started&&this._state.setStateAtTime(t.State.Paused,e),this},t.TickSource.prototype.cancel=function(t){return t=this.toSeconds(t),this._state.cancel(t),this._tickOffset.cancel(t),this},t.TickSource.prototype.getTicksAtTime=function(e){e=this.toSeconds(e);var i=this._state.getLastState(t.State.Stopped,e),n={state:t.State.Paused,time:e};this._state.add(n);var s=i,o=0;return this._state.forEachBetween(i.time,e+this.sampleTime,function(e){var i=s.time,n=this._tickOffset.get(e.time);n.time>=s.time&&(o=n.ticks,i=n.time),s.state===t.State.Started&&e.state!==t.State.Started&&(o+=this.frequency.getTicksAtTime(e.time)-this.frequency.getTicksAtTime(i)),s=e}.bind(this)),this._state.remove(n),o},Object.defineProperty(t.TickSource.prototype,\"ticks\",{get:function(){return this.getTicksAtTime(this.now())},set:function(t){this.setTicksAtTime(t,this.now())}}),Object.defineProperty(t.TickSource.prototype,\"seconds\",{get:function(){return this.getSecondsAtTime(this.now())},set:function(t){var e=this.now(),i=this.frequency.timeToTicks(t,e);this.setTicksAtTime(i,e)}}),t.TickSource.prototype.getSecondsAtTime=function(e){e=this.toSeconds(e);var i=this._state.getLastState(t.State.Stopped,e),n={state:t.State.Paused,time:e};this._state.add(n);var s=i,o=0;return this._state.forEachBetween(i.time,e+this.sampleTime,function(e){var i=s.time,n=this._tickOffset.get(e.time);n.time>=s.time&&(o=n.seconds,i=n.time),s.state===t.State.Started&&e.state!==t.State.Started&&(o+=e.time-i),s=e}.bind(this)),this._state.remove(n),o},t.TickSource.prototype.setTicksAtTime=function(t,e){return e=this.toSeconds(e),this._tickOffset.cancel(e),this._tickOffset.add({time:e,ticks:t,seconds:this.frequency.getDurationOfTicks(t,e)}),this},t.TickSource.prototype.getStateAtTime=function(t){return t=this.toSeconds(t),this._state.getValueAtTime(t)},t.TickSource.prototype.getTimeOfTick=function(e,i){i=t.defaultArg(i,this.now());var n=this._tickOffset.get(i),s=this._state.get(i),o=Math.max(n.time,s.time),r=this.frequency.getTicksAtTime(o)+e-n.ticks;return this.frequency.getTimeOfTick(r)},t.TickSource.prototype.forEachTickBetween=function(e,i,n){var s=this._state.get(e);if(this._state.forEachBetween(e,i,function(i){s.state===t.State.Started&&i.state!==t.State.Started&&this.forEachTickBetween(Math.max(s.time,e),i.time-this.sampleTime,n),s=i}.bind(this)),e=Math.max(s.time,e),s.state===t.State.Started&&this._state){var o=this.frequency.getTicksAtTime(e),r=this.frequency.getTicksAtTime(s.time),a=o-r,h=a%1;0!==h&&(h=1-h);for(var u=this.frequency.getTimeOfTick(o+h),l=null;u0)if(null===t.left.right)e=t.left,e.right=t.right,i=e;else{for(e=t.left.right;null!==e.right;)e=e.right;e.parent.right=e.left,i=e.parent,e.left=t.left,e.right=t.right}else if(null===t.right.left)e=t.right,e.left=t.left,i=e;else{for(e=t.right.left;null!==e.left;)e=e.left;e.parent=e.parent,e.parent.left=e.right,i=e.parent,e.left=t.left,e.right=t.right}null!==t.parent?t.isLeftChild()?t.parent.left=e:t.parent.right=e:this._setRoot(e),this._rebalance(i)}t.dispose()},t.IntervalTimeline.prototype._rotateLeft=function(t){var e=t.parent,i=t.isLeftChild(),n=t.right;t.right=n.left,n.left=t,null!==e?i?e.left=n:e.right=n:this._setRoot(n)},t.IntervalTimeline.prototype._rotateRight=function(t){var e=t.parent,i=t.isLeftChild(),n=t.left;t.left=n.right,n.right=t,null!==e?i?e.left=n:e.right=n:this._setRoot(n)},t.IntervalTimeline.prototype._rebalance=function(t){var e=t.getBalance();e>1?t.left.getBalance()<0?this._rotateLeft(t.left):this._rotateRight(t):e<-1&&(t.right.getBalance()>0?this._rotateRight(t.right):this._rotateLeft(t))},t.IntervalTimeline.prototype.get=function(t){if(null!==this._root){var e=[];if(this._root.search(t,e),e.length>0){for(var i=e[0],n=1;ni.low&&(i=e[n]);return i.event}}return null},t.IntervalTimeline.prototype.forEach=function(t){if(null!==this._root){var e=[];this._root.traverse(function(t){e.push(t)});for(var i=0;i=0;n--){var s=i[n].event;s&&e(s)}}return this},t.IntervalTimeline.prototype.forEachFrom=function(t,e){if(null!==this._root){var i=[];this._root.searchAfter(t,i);for(var n=i.length-1;n>=0;n--){e(i[n].event)}}return this},t.IntervalTimeline.prototype.dispose=function(){var t=[];null!==this._root&&this._root.traverse(function(e){t.push(e)});for(var e=0;ethis.max||(null!==this.left&&this.left.search(t,e),this.low<=t&&this.high>t&&e.push(this),this.low>t||null!==this.right&&this.right.search(t,e))},e.prototype.searchAfter=function(t,e){this.low>=t&&(e.push(this),null!==this.left&&this.left.searchAfter(t,e)),null!==this.right&&this.right.searchAfter(t,e)},e.prototype.traverse=function(t){t(this),null!==this.left&&this.left.traverse(t),null!==this.right&&this.right.traverse(t)},e.prototype.updateHeight=function(){null!==this.left&&null!==this.right?this.height=Math.max(this.left.height,this.right.height)+1:null!==this.right?this.height=this.right.height+1:null!==this.left?this.height=this.left.height+1:this.height=0},e.prototype.updateMax=function(){this.max=this.high,null!==this.left&&(this.max=Math.max(this.max,this.left.max)),null!==this.right&&(this.max=Math.max(this.max,this.right.max))},e.prototype.getBalance=function(){var t=0;return null!==this.left&&null!==this.right?t=this.left.height-this.right.height:null!==this.left?t=this.left.height+1:null!==this.right&&(t=-(this.right.height+1)),t},e.prototype.isLeftChild=function(){return null!==this.parent&&this.parent.left===this},Object.defineProperty(e.prototype,\"left\",{get:function(){return this._left},set:function(t){this._left=t,null!==t&&(t.parent=this),this.updateHeight(),this.updateMax()}}),Object.defineProperty(e.prototype,\"right\",{get:function(){return this._right},set:function(t){this._right=t,null!==t&&(t.parent=this),this.updateHeight(),this.updateMax()}}),e.prototype.dispose=function(){this.parent=null,this._left=null,this._right=null,this.event=null},t.IntervalTimeline}),t(function(t){return t.Ticks=function(e,i){if(!(this instanceof t.Ticks))return new t.Ticks(e,i);t.TransportTime.call(this,e,i)},t.extend(t.Ticks,t.TransportTime),t.Ticks.prototype._defaultUnits=\"i\",t.Ticks.prototype._now=function(){return t.Transport.ticks},t.Ticks.prototype._beatsToUnits=function(t){return this._getPPQ()*t},t.Ticks.prototype._secondsToUnits=function(t){return t/(60/this._getBpm())*this._getPPQ()},t.Ticks.prototype._ticksToUnits=function(t){return t},t.Ticks.prototype.toTicks=function(){return this.valueOf()},t.Ticks.prototype.toSeconds=function(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())},t.Ticks}),t(function(t){return t.TransportEvent=function(e,i){i=t.defaultArg(i,t.TransportEvent.defaults),t.call(this),this.Transport=e,this.id=t.TransportEvent._eventId++,this.time=t.Ticks(i.time),this.callback=i.callback,this._once=i.once},t.extend(t.TransportEvent),t.TransportEvent.defaults={once:!1,callback:t.noOp},t.TransportEvent._eventId=0,t.TransportEvent.prototype.invoke=function(t){this.callback&&(this.callback(t),this._once&&this.Transport&&this.Transport.clear(this.id))},t.TransportEvent.prototype.dispose=function(){return t.prototype.dispose.call(this),this.Transport=null,this.callback=null,this.time=null,this},t.TransportEvent}),t(function(t){return t.TransportRepeatEvent=function(e,i){t.TransportEvent.call(this,e,i),i=t.defaultArg(i,t.TransportRepeatEvent.defaults),this.duration=t.Ticks(i.duration),this._interval=t.Ticks(i.interval),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this),this.Transport.on(\"start loopStart\",this._boundRestart),this._restart()},t.extend(t.TransportRepeatEvent,t.TransportEvent),t.TransportRepeatEvent.defaults={duration:1/0,interval:1},t.TransportRepeatEvent.prototype.invoke=function(e){this._createEvents(e),t.TransportEvent.prototype.invoke.call(this,e)},t.TransportRepeatEvent.prototype._createEvents=function(e){var i=this.Transport.getTicksAtTime(e);i>=this.time&&i>=this._nextTick&&this._nextTick+this._intervalthis.time&&(this._nextTick=this.time+Math.ceil((i-this.time)/this._interval)*this._interval),this._currentId=this.Transport.scheduleOnce(this.invoke.bind(this),t.Ticks(this._nextTick)),this._nextTick+=this._interval,this._nextId=this.Transport.scheduleOnce(this.invoke.bind(this),t.Ticks(this._nextTick))},t.TransportRepeatEvent.prototype.dispose=function(){return this.Transport.clear(this._currentId),this.Transport.clear(this._nextId),this.Transport.off(\"start loopStart\",this._boundRestart),this._boundCreateEvents=null,t.TransportEvent.prototype.dispose.call(this),this.duration=null,this._interval=null,this},t.TransportRepeatEvent}),t(function(t){t.Transport=function(){t.Emitter.call(this),t.getContext(function(){this.loop=!1,this._loopStart=0,this._loopEnd=0,this._ppq=e.defaults.PPQ,this._clock=new t.Clock({callback:this._processTick.bind(this),frequency:0}),this._bindClockEvents(),this.bpm=this._clock.frequency,this.bpm._toUnits=this._toUnits.bind(this),this.bpm._fromUnits=this._fromUnits.bind(this),this.bpm.units=t.Type.BPM,this.bpm.value=e.defaults.bpm,this._readOnly(\"bpm\"),this._timeSignature=e.defaults.timeSignature,this._scheduledEvents={},this._timeline=new t.Timeline,this._repeatedEvents=new t.IntervalTimeline,this._syncedSignals=[],this._swingTicks=e.defaults.PPQ/2,this._swingAmount=0}.bind(this))},t.extend(t.Transport,t.Emitter),t.Transport.defaults={bpm:120,swing:0,swingSubdivision:\"8n\",timeSignature:4,loopStart:0,loopEnd:\"4m\",PPQ:192},t.Transport.prototype._processTick=function(e,i){if(this._swingAmount>0&&i%this._ppq!=0&&i%(2*this._swingTicks)!=0){var n=i%(2*this._swingTicks)/(2*this._swingTicks),s=Math.sin(n*Math.PI)*this._swingAmount;e+=t.Ticks(2*this._swingTicks/3).toSeconds()*s}this.loop&&i>=this._loopEnd&&(this.emit(\"loopEnd\",e),this._clock.setTicksAtTime(this._loopStart,e),i=this._loopStart,this.emit(\"loopStart\",e,this._clock.getSecondsAtTime(e)),this.emit(\"loop\",e)),this._timeline.forEachAtTime(i,function(t){t.invoke(e)})},t.Transport.prototype.schedule=function(e,i){var n=new t.TransportEvent(this,{time:t.TransportTime(i),callback:e});return this._addEvent(n,this._timeline)},t.Transport.prototype.scheduleRepeat=function(e,i,n,s){var o=new t.TransportRepeatEvent(this,{callback:e,interval:t.Time(i),time:t.TransportTime(n),duration:t.Time(t.defaultArg(s,1/0))});return this._addEvent(o,this._repeatedEvents)},t.Transport.prototype.scheduleOnce=function(e,i){var n=new t.TransportEvent(this,{time:t.TransportTime(i),callback:e,once:!0});return this._addEvent(n,this._timeline)},t.Transport.prototype.clear=function(t){if(this._scheduledEvents.hasOwnProperty(t)){var e=this._scheduledEvents[t.toString()];e.timeline.remove(e.event),e.event.dispose(),delete this._scheduledEvents[t.toString()]}return this},t.Transport.prototype._addEvent=function(t,e){return this._scheduledEvents[t.id.toString()]={event:t,timeline:e},e.add(t),t.id},t.Transport.prototype.cancel=function(e){return e=t.defaultArg(e,0),e=this.toTicks(e),this._timeline.forEachFrom(e,function(t){this.clear(t.id)}.bind(this)),this._repeatedEvents.forEachFrom(e,function(t){this.clear(t.id)}.bind(this)),this},t.Transport.prototype._bindClockEvents=function(){this._clock.on(\"start\",function(e,i){i=t.Ticks(i).toSeconds(),this.emit(\"start\",e,i)}.bind(this)),this._clock.on(\"stop\",function(t){this.emit(\"stop\",t)}.bind(this)),this._clock.on(\"pause\",function(t){this.emit(\"pause\",t)}.bind(this))},Object.defineProperty(t.Transport.prototype,\"state\",{get:function(){return this._clock.getStateAtTime(this.now())}}),t.Transport.prototype.start=function(e,i){return t.isDefined(i)&&(i=this.toTicks(i)),this._clock.start(e,i),this},t.Transport.prototype.stop=function(t){return this._clock.stop(t),this},t.Transport.prototype.pause=function(t){return this._clock.pause(t),this},t.Transport.prototype.toggle=function(e){return e=this.toSeconds(e),this._clock.getStateAtTime(e)!==t.State.Started?this.start(e):this.stop(e),this},Object.defineProperty(t.Transport.prototype,\"timeSignature\",{get:function(){return this._timeSignature},set:function(e){t.isArray(e)&&(e=e[0]/e[1]*4),this._timeSignature=e}}),Object.defineProperty(t.Transport.prototype,\"loopStart\",{get:function(){return t.Ticks(this._loopStart).toSeconds()},set:function(t){this._loopStart=this.toTicks(t)}}),Object.defineProperty(t.Transport.prototype,\"loopEnd\",{get:function(){return t.Ticks(this._loopEnd).toSeconds()},set:function(t){this._loopEnd=this.toTicks(t)}}),t.Transport.prototype.setLoopPoints=function(t,e){return this.loopStart=t,this.loopEnd=e,this},Object.defineProperty(t.Transport.prototype,\"swing\",{get:function(){return this._swingAmount},set:function(t){this._swingAmount=t}}),Object.defineProperty(t.Transport.prototype,\"swingSubdivision\",{get:function(){return t.Ticks(this._swingTicks).toNotation()},set:function(t){this._swingTicks=this.toTicks(t)}}),Object.defineProperty(t.Transport.prototype,\"position\",{get:function(){var e=this.now(),i=this._clock.getTicksAtTime(e);return t.Ticks(i).toBarsBeatsSixteenths()},set:function(t){var e=this.toTicks(t);this.ticks=e}}),Object.defineProperty(t.Transport.prototype,\"seconds\",{get:function(){return this._clock.seconds},set:function(t){var e=this.now(),i=this.bpm.timeToTicks(t,e);this.ticks=i}}),Object.defineProperty(t.Transport.prototype,\"progress\",{get:function(){if(this.loop){var t=this.now();return(this._clock.getTicksAtTime(t)-this._loopStart)/(this._loopEnd-this._loopStart)}return 0}}),Object.defineProperty(t.Transport.prototype,\"ticks\",{get:function(){return this._clock.ticks},set:function(e){if(this._clock.ticks!==e){var i=this.now();this.state===t.State.Started?(this.emit(\"stop\",i),this._clock.setTicksAtTime(e,i),this.emit(\"start\",i,this.seconds)):this._clock.setTicksAtTime(e,i)}}}),t.Transport.prototype.getTicksAtTime=function(t){return Math.round(this._clock.getTicksAtTime(t))},t.Transport.prototype.getSecondsAtTime=function(t){return this._clock.getSecondsAtTime(t)},Object.defineProperty(t.Transport.prototype,\"PPQ\",{get:function(){return this._ppq},set:function(t){var e=this.bpm.value;this._ppq=t,this.bpm.value=e}}),t.Transport.prototype._fromUnits=function(t){return 1/(60/t/this.PPQ)},t.Transport.prototype._toUnits=function(t){return t/this.PPQ*60},t.Transport.prototype.nextSubdivision=function(e){if(e=this.toTicks(e),this.state!==t.State.Started)return 0;var i=this.now(),n=this.getTicksAtTime(i),s=e-n%e;return this._clock.nextTickTime(s,i)},t.Transport.prototype.syncSignal=function(e,i){if(!i){var n=this.now();i=0!==e.getValueAtTime(n)?e.getValueAtTime(n)/this.bpm.getValueAtTime(n):0}var s=new t.Gain(i);return this.bpm.chain(s,e._param),this._syncedSignals.push({ratio:s,signal:e,initial:e.value}),e.value=0,this},t.Transport.prototype.unsyncSignal=function(t){for(var e=this._syncedSignals.length-1;e>=0;e--){var i=this._syncedSignals[e];i.signal===t&&(i.ratio.dispose(),i.signal.value=i.initial,this._syncedSignals.splice(e,1))}return this},t.Transport.prototype.dispose=function(){return t.Emitter.prototype.dispose.call(this),this._clock.dispose(),this._clock=null,this._writable(\"bpm\"),this.bpm=null,this._timeline.dispose(),this._timeline=null,this._repeatedEvents.dispose(),this._repeatedEvents=null,this};var e=t.Transport;return t.Transport=new e,t.Context.on(\"init\",function(i){i.Transport instanceof e?t.Transport=i.Transport:t.Transport=new e,i.Transport=t.Transport}),t.Context.on(\"close\",function(t){t.Transport instanceof e&&t.Transport.dispose()}),t.Transport}),t(function(t){return t.Volume=function(){var e=t.defaults(arguments,[\"volume\"],t.Volume);t.AudioNode.call(this),this.output=this.input=new t.Gain(e.volume,t.Type.Decibels),this._unmutedVolume=e.volume,this.volume=this.output.gain,this._readOnly(\"volume\"),this.mute=e.mute},t.extend(t.Volume,t.AudioNode),t.Volume.defaults={volume:0,mute:!1},Object.defineProperty(t.Volume.prototype,\"mute\",{get:function(){return this.volume.value===-1/0},set:function(t){!this.mute&&t?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!t&&(this.volume.value=this._unmutedVolume)}}),t.Volume.prototype.dispose=function(){return this.input.dispose(),t.AudioNode.prototype.dispose.call(this),this._writable(\"volume\"),this.volume.dispose(),this.volume=null,this},t.Volume}),t(function(t){t.Master=function(){t.AudioNode.call(this),t.getContext(function(){this.createInsOuts(1,0),this._volume=this.output=new t.Volume,this.volume=this._volume.volume,this._readOnly(\"volume\"),this.input.chain(this.output,this.context.destination)}.bind(this))},t.extend(t.Master,t.AudioNode),t.Master.defaults={volume:0,mute:!1},Object.defineProperty(t.Master.prototype,\"mute\",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),t.Master.prototype.chain=function(){this.input.disconnect(),this.input.chain.apply(this.input,arguments),arguments[arguments.length-1].connect(this.output)},t.Master.prototype.dispose=function(){t.AudioNode.prototype.dispose.call(this),this._writable(\"volume\"),this._volume.dispose(),this._volume=null,this.volume=null},t.AudioNode.prototype.toMaster=function(){return this.connect(t.Master),this},window.AudioNode&&(AudioNode.prototype.toMaster=function(){return this.connect(t.Master),this});var e=t.Master;return t.Master=new e,t.Context.on(\"init\",function(i){i.Master instanceof e?t.Master=i.Master:t.Master=new e,i.Master=t.Master}),t.Context.on(\"close\",function(t){t.Master instanceof e&&t.Master.dispose()}),t.Master}),t(function(t){return t.Source=function(e){e=t.defaultArg(e,t.Source.defaults),t.AudioNode.call(this),this._volume=this.output=new t.Volume(e.volume),this.volume=this._volume.volume,this._readOnly(\"volume\"),this._state=new t.TimelineState(t.State.Stopped),this._state.memory=100,this._synced=!1,this._scheduled=[],this._volume.output.output.channelCount=2,this._volume.output.output.channelCountMode=\"explicit\",this.mute=e.mute},t.extend(t.Source,t.AudioNode),t.Source.defaults={volume:0,mute:!1},Object.defineProperty(t.Source.prototype,\"state\",{get:function(){return this._synced?t.Transport.state===t.State.Started?this._state.getValueAtTime(t.Transport.seconds):t.State.Stopped:this._state.getValueAtTime(this.now())}}),Object.defineProperty(t.Source.prototype,\"mute\",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),t.Source.prototype._start=t.noOp,t.Source.prototype.restart=t.noOp,t.Source.prototype._stop=t.noOp,t.Source.prototype.start=function(e,i,n){if(e=t.isUndef(e)&&this._synced?t.Transport.seconds:this.toSeconds(e),this._state.getValueAtTime(e)===t.State.Started)this._state.cancel(e),this._state.setStateAtTime(t.State.Started,e),this.restart(e,i,n);else if(this._state.setStateAtTime(t.State.Started,e),this._synced){var s=this._state.get(e);s.offset=t.defaultArg(i,0),s.duration=n;var o=t.Transport.schedule(function(t){this._start(t,i,n)}.bind(this),e);this._scheduled.push(o),t.Transport.state===t.State.Started&&this._syncedStart(this.now(),t.Transport.seconds)}else this._start.apply(this,arguments);return this},t.Source.prototype.stop=function(e){if(e=t.isUndef(e)&&this._synced?t.Transport.seconds:this.toSeconds(e),this._synced){var i=t.Transport.schedule(this._stop.bind(this),e);this._scheduled.push(i)}else this._stop.apply(this,arguments);return this._state.cancel(e),this._state.setStateAtTime(t.State.Stopped,e),this},t.Source.prototype.sync=function(){return this._synced=!0,this._syncedStart=function(e,i){if(i>0){var n=this._state.get(i);if(n&&n.state===t.State.Started&&n.time!==i){var s,o=i-this.toSeconds(n.time);n.duration&&(s=this.toSeconds(n.duration)-o),this._start(e,this.toSeconds(n.offset)+o,s)}}}.bind(this),this._syncedStop=function(e){var i=t.Transport.getSecondsAtTime(Math.max(e-this.sampleTime,0));this._state.getValueAtTime(i)===t.State.Started&&this._stop(e)}.bind(this),t.Transport.on(\"start loopStart\",this._syncedStart),t.Transport.on(\"stop pause loopEnd\",this._syncedStop),this},t.Source.prototype.unsync=function(){this._synced&&(t.Transport.off(\"stop pause loopEnd\",this._syncedStop),t.Transport.off(\"start loopStart\",this._syncedStart)),this._synced=!1;for(var e=0;e0}}),Object.defineProperty(t.Buffer.prototype,\"duration\",{get:function(){return this._buffer?this._buffer.duration:0}}),Object.defineProperty(t.Buffer.prototype,\"length\",{get:function(){return this._buffer?this._buffer.length:0}}),Object.defineProperty(t.Buffer.prototype,\"numberOfChannels\",{get:function(){return this._buffer?this._buffer.numberOfChannels:0}}),t.Buffer.prototype.fromArray=function(t){var e=t[0].length>0,i=e?t.length:1,n=e?t[0].length:t.length,s=this.context.createBuffer(i,n,this.context.sampleRate);e||1!==i||(t=[t]);for(var o=0;o=this._startTime&&(-1===this._stopTime||e<=this._stopTime)?t.State.Started:t.State.Stopped},t.OscillatorNode.prototype.start=function(t){if(-1!==this._startTime)throw new Error(\"cannot call OscillatorNode.start more than once\");this._startTime=this.toSeconds(t),this._oscillator.start(this._startTime);var e=this.context.currentTime;return this._gainNode.gain.cancelScheduledValues(e),this._gainNode.gain.setValueAtTime(0,e),this._gainNode.gain.setValueAtTime(1,this._startTime),this},t.OscillatorNode.prototype.setPeriodicWave=function(t){return this._oscillator.setPeriodicWave(t),this},t.OscillatorNode.prototype.stop=function(t){return this.cancelStop(),this._stopTime=this.toSeconds(t),this._gainNode.gain.setValueAtTime(0,this._stopTime),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(function(){this._oscillator.stop(this.now()),this.onended()}.bind(this),this._stopTime-this.now()),this},t.OscillatorNode.prototype.cancelStop=function(){return-1!==this._startTime&&(this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this._gainNode.gain.setValueAtTime(1,Math.max(this.now(),this._startTime)),this.context.clearTimeout(this._timeout),this._stopTime=-1),this},Object.defineProperty(t.OscillatorNode.prototype,\"type\",{get:function(){return this._oscillator.type},set:function(t){this._oscillator.type=t}}),t.OscillatorNode.prototype.dispose=function(){return this.context.clearTimeout(this._timeout),t.AudioNode.prototype.dispose.call(this),this.onended=null,this._oscillator.disconnect(),this._oscillator=null,this._gainNode.dispose(),this._gainNode=null,this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this},t.OscillatorNode}),t(function(t){return t.Oscillator=function(){var e=t.defaults(arguments,[\"frequency\",\"type\"],t.Oscillator);t.Source.call(this,e),this._oscillator=null,this.frequency=new t.Signal(e.frequency,t.Type.Frequency),this.detune=new t.Signal(e.detune,t.Type.Cents),this._wave=null,this._partials=t.defaultArg(e.partials,[1]),this._phase=e.phase,this._type=null,this.type=e.type,this.phase=this._phase,this._readOnly([\"frequency\",\"detune\"])},t.extend(t.Oscillator,t.Source),t.Oscillator.defaults={type:\"sine\",frequency:440,detune:0,phase:0,partials:[]},t.Oscillator.Type={Sine:\"sine\",Triangle:\"triangle\",Sawtooth:\"sawtooth\",Square:\"square\",Custom:\"custom\"},t.Oscillator.prototype._start=function(e){this._oscillator=new t.OscillatorNode,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),e=this.toSeconds(e),this._oscillator.start(e)},t.Oscillator.prototype._stop=function(t){return this._oscillator&&(t=this.toSeconds(t),this._oscillator.stop(t)),this},t.Oscillator.prototype.restart=function(t){return this._oscillator.cancelStop(),this._state.cancel(this.toSeconds(t)),this},t.Oscillator.prototype.syncFrequency=function(){return t.Transport.syncSignal(this.frequency),this},t.Oscillator.prototype.unsyncFrequency=function(){return t.Transport.unsyncSignal(this.frequency),this},Object.defineProperty(t.Oscillator.prototype,\"type\",{get:function(){return this._type},set:function(e){var i=[t.Oscillator.Type.Sine,t.Oscillator.Type.Square,t.Oscillator.Type.Triangle,t.Oscillator.Type.Sawtooth].includes(e);if(0===this._phase&&i)this._wave=null,null!==this._oscillator&&this._oscillator.type;else{var n=this._getRealImaginary(e,this._phase),s=this.context.createPeriodicWave(n[0],n[1]);this._wave=s,null!==this._oscillator&&this._oscillator.setPeriodicWave(this._wave)}this._type=e}}),t.Oscillator.prototype._getRealImaginary=function(e,i){var n=2048,s=new Float32Array(n),o=new Float32Array(n),r=1;if(e===t.Oscillator.Type.Custom)r=this._partials.length+1,n=r;else{var a=/^(sine|triangle|square|sawtooth)(\\d+)$/.exec(e);a&&(r=parseInt(a[2])+1,e=a[1],r=Math.max(r,2),n=r)}for(var h=1;h>1&1?-1:1):0;break;case t.Oscillator.Type.Custom:u=this._partials[h-1];break;default:throw new TypeError(\"Tone.Oscillator: invalid type: \"+e)}0!==u?(s[h]=-u*Math.sin(i*h),o[h]=u*Math.cos(i*h)):(s[h]=0,o[h]=0)}return[s,o]},t.Oscillator.prototype._inverseFFT=function(t,e,i){for(var n=0,s=t.length,o=0;os&&n=this.values.length&&(this.index=0):e===t.CtrlPattern.Type.Down?--this.index<0&&(this.index=this.values.length-1):e===t.CtrlPattern.Type.UpDown||e===t.CtrlPattern.Type.DownUp?(this._direction===t.CtrlPattern.Type.Up?this.index++:this.index--,this.index<0?(this.index=1,this._direction=t.CtrlPattern.Type.Up):this.index>=this.values.length&&(this.index=this.values.length-2,this._direction=t.CtrlPattern.Type.Down)):e===t.CtrlPattern.Type.Random?this.index=Math.floor(Math.random()*this.values.length):e===t.CtrlPattern.Type.RandomWalk?Math.random()<.5?(this.index--,this.index=Math.max(this.index,0)):(this.index++,this.index=Math.min(this.index,this.values.length-1)):e===t.CtrlPattern.Type.RandomOnce?++this.index>=this.values.length&&(this.index=0,this._shuffleValues()):e===t.CtrlPattern.Type.AlternateUp?(this._direction===t.CtrlPattern.Type.Up?(this.index+=2,this._direction=t.CtrlPattern.Type.Down):(this.index-=1,this._direction=t.CtrlPattern.Type.Up),this.index>=this.values.length&&(this.index=0,this._direction=t.CtrlPattern.Type.Up)):e===t.CtrlPattern.Type.AlternateDown&&(this._direction===t.CtrlPattern.Type.Up?(this.index+=1,this._direction=t.CtrlPattern.Type.Down):(this.index-=2,this._direction=t.CtrlPattern.Type.Up),this.index<0&&(this.index=this.values.length-1,this._direction=t.CtrlPattern.Type.Down)),this.value},t.CtrlPattern.prototype._shuffleValues=function(){var t=[];this._shuffled=[];for(var e=0;e0;){var i=t.splice(Math.floor(t.length*Math.random()),1);this._shuffled.push(i[0])}},t.CtrlPattern.prototype.dispose=function(){this._shuffled=null,this.values=null},t.CtrlPattern}),t(function(t){return t.CtrlRandom=function(){var e=t.defaults(arguments,[\"min\",\"max\"],t.CtrlRandom);t.call(this),this.min=e.min,this.max=e.max,this.integer=e.integer},t.extend(t.CtrlRandom),t.CtrlRandom.defaults={min:0,max:1,integer:!1},Object.defineProperty(t.CtrlRandom.prototype,\"value\",{get:function(){var t=this.toSeconds(this.min),e=this.toSeconds(this.max),i=Math.random(),n=i*t+(1-i)*e;return this.integer&&(n=Math.floor(n)),n}}),t.CtrlRandom}),t(function(t){return t.Buffers=function(e){var i=Array.prototype.slice.call(arguments);i.shift();var n=t.defaults(i,[\"onload\",\"baseUrl\"],t.Buffers);t.call(this),this._buffers={},this.baseUrl=n.baseUrl,this._loadingCount=0;for(var s in e)this._loadingCount++,this.add(s,e[s],this._bufferLoaded.bind(this,n.onload))},t.extend(t.Buffers),t.Buffers.defaults={onload:t.noOp,baseUrl:\"\"},t.Buffers.prototype.has=function(t){return this._buffers.hasOwnProperty(t)},t.Buffers.prototype.get=function(t){if(this.has(t))return this._buffers[t];throw new Error(\"Tone.Buffers: no buffer named \"+t)},t.Buffers.prototype._bufferLoaded=function(t){0===--this._loadingCount&&t&&t(this)},Object.defineProperty(t.Buffers.prototype,\"loaded\",{get:function(){var t=!0;for(var e in this._buffers){var i=this.get(e);t=t&&i.loaded}return t}}),t.Buffers.prototype.add=function(e,i,n){return n=t.defaultArg(n,t.noOp),i instanceof t.Buffer?(this._buffers[e]=i,n(this)):i instanceof AudioBuffer?(this._buffers[e]=new t.Buffer(i),n(this)):t.isString(i)&&(this._buffers[e]=new t.Buffer(this.baseUrl+i,n)),this},t.Buffers.prototype.dispose=function(){t.prototype.dispose.call(this);for(var e in this._buffers)this._buffers[e].dispose();return this._buffers=null,this},t.Buffers}),t(function(t){var e={};return t.prototype.send=function(i,n){e.hasOwnProperty(i)||(e[i]=this.context.createGain()),n=t.defaultArg(n,0);var s=new t.Gain(n,t.Type.Decibels);return this.connect(s),s.connect(e[i]),s},t.prototype.receive=function(t,i){return e.hasOwnProperty(t)||(e[t]=this.context.createGain()),e[t].connect(this,0,i),this},t.Context.on(\"init\",function(t){t.Buses?e=t.Buses:(e={},t.Buses=e)}),t}),t(function(t){return t.Draw=function(){t.call(this),this._events=new t.Timeline,this.expiration=.25,this.anticipation=.008,this._boundDrawLoop=this._drawLoop.bind(this)},t.extend(t.Draw),t.Draw.prototype.schedule=function(t,e){return this._events.add({callback:t,time:this.toSeconds(e)}),1===this._events.length&&requestAnimationFrame(this._boundDrawLoop),this},t.Draw.prototype.cancel=function(t){return this._events.cancel(this.toSeconds(t)),this},t.Draw.prototype._drawLoop=function(){for(var e=t.now();this._events.length&&this._events.peek().time-this.anticipation<=e;){var i=this._events.shift();e-i.time<=this.expiration&&i.callback()}this._events.length>0&&requestAnimationFrame(this._boundDrawLoop)},t.Draw=new t.Draw,t.Draw}),t(function(t){t.Listener=function(){t.call(this),this._orientation=[0,0,0,0,0,0],this._position=[0,0,0],t.getContext(function(){this.set(e.defaults)}.bind(this))},t.extend(t.Listener),t.Listener.defaults={positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:1,upX:0,upY:1,upZ:0},t.Listener.prototype._rampTimeConstant=.01,t.Listener.prototype.setPosition=function(t,e,i){if(this.context.listener.positionX){var n=this.now();this.context.listener.positionX.setTargetAtTime(t,n,this._rampTimeConstant),this.context.listener.positionY.setTargetAtTime(e,n,this._rampTimeConstant),this.context.listener.positionZ.setTargetAtTime(i,n,this._rampTimeConstant)}else this.context.listener.setPosition(t,e,i);return this._position=Array.prototype.slice.call(arguments),this},t.Listener.prototype.setOrientation=function(t,e,i,n,s,o){if(this.context.listener.forwardX){var r=this.now();this.context.listener.forwardX.setTargetAtTime(t,r,this._rampTimeConstant),this.context.listener.forwardY.setTargetAtTime(e,r,this._rampTimeConstant),this.context.listener.forwardZ.setTargetAtTime(i,r,this._rampTimeConstant),this.context.listener.upX.setTargetAtTime(n,r,this._rampTimeConstant),this.context.listener.upY.setTargetAtTime(s,r,this._rampTimeConstant),this.context.listener.upZ.setTargetAtTime(o,r,this._rampTimeConstant)}else this.context.listener.setOrientation(t,e,i,n,s,o);return this._orientation=Array.prototype.slice.call(arguments),this},Object.defineProperty(t.Listener.prototype,\"positionX\",{set:function(t){this._position[0]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[0]}}),Object.defineProperty(t.Listener.prototype,\"positionY\",{set:function(t){this._position[1]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[1]}}),Object.defineProperty(t.Listener.prototype,\"positionZ\",{set:function(t){this._position[2]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[2]}}),Object.defineProperty(t.Listener.prototype,\"forwardX\",{set:function(t){this._orientation[0]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[0]}}),Object.defineProperty(t.Listener.prototype,\"forwardY\",{set:function(t){this._orientation[1]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[1]}}),Object.defineProperty(t.Listener.prototype,\"forwardZ\",{set:function(t){this._orientation[2]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[2]}}),Object.defineProperty(t.Listener.prototype,\"upX\",{set:function(t){this._orientation[3]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[3]}}),Object.defineProperty(t.Listener.prototype,\"upY\",{set:function(t){this._orientation[4]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[4]}}),Object.defineProperty(t.Listener.prototype,\"upZ\",{set:function(t){this._orientation[5]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[5]}}),t.Listener.prototype.dispose=function(){return this._orientation=null,this._position=null,this};var e=t.Listener;return t.Listener=new e,t.Context.on(\"init\",function(i){i.Listener instanceof e?t.Listener=i.Listener:t.Listener=new e,i.Listener=t.Listener}),t.Listener}),t(function(t){function e(i,n,s,o){o=t.defaultArg(o,0);var r=new t.OfflineContext(2,n,s);t.context=r;var a=i(t.Transport);return r.currentTime>0&&o<1e3?e(i,n,s,++o):{response:a,context:r}}return t.Offline=function(i,n){var s,o=t.context.sampleRate,r=t.context,a=e(i,n,o),h=a.response,u=a.context;return s=h instanceof Promise?h.then(function(){return u.render()}):u.render(),t.context=r,s.then(function(e){return new t.Buffer(e)})},t.Offline}),t(function(t){return t.Effect=function(){var e=t.defaults(arguments,[\"wet\"],t.Effect);t.AudioNode.call(this),this.createInsOuts(1,1),this._dryWet=new t.CrossFade(e.wet),this.wet=this._dryWet.fade,this.effectSend=new t.Gain,this.effectReturn=new t.Gain,this.input.connect(this._dryWet.a),this.input.connect(this.effectSend),this.effectReturn.connect(this._dryWet.b),this._dryWet.connect(this.output),this._readOnly([\"wet\"])},t.extend(t.Effect,t.AudioNode),t.Effect.defaults={wet:1},t.Effect.prototype.connectEffect=function(t){return this.effectSend.chain(t,this.effectReturn),this},t.Effect.prototype.dispose=function(){return t.AudioNode.prototype.dispose.call(this),this._dryWet.dispose(),this._dryWet=null,this.effectSend.dispose(),this.effectSend=null,this.effectReturn.dispose(),this.effectReturn=null,this._writable([\"wet\"]),this.wet=null,this},t.Effect}),t(function(t){return t.AutoFilter=function(){var e=t.defaults(arguments,[\"frequency\",\"baseFrequency\",\"octaves\"],t.AutoFilter);t.Effect.call(this,e),this._lfo=new t.LFO({frequency:e.frequency,amplitude:e.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.filter=new t.Filter(e.filter),this._octaves=0,this.connectEffect(this.filter),this._lfo.connect(this.filter.frequency),this.type=e.type,this._readOnly([\"frequency\",\"depth\"]),this.octaves=e.octaves,this.baseFrequency=e.baseFrequency},t.extend(t.AutoFilter,t.Effect),t.AutoFilter.defaults={frequency:1,type:\"sine\",depth:1,baseFrequency:200,octaves:2.6,filter:{type:\"lowpass\",rolloff:-12,Q:1}},t.AutoFilter.prototype.start=function(t){return this._lfo.start(t),this},t.AutoFilter.prototype.stop=function(t){return this._lfo.stop(t),this},t.AutoFilter.prototype.sync=function(t){return this._lfo.sync(t),this},t.AutoFilter.prototype.unsync=function(){return this._lfo.unsync(),this},Object.defineProperty(t.AutoFilter.prototype,\"type\",{get:function(){return this._lfo.type},set:function(t){this._lfo.type=t}}),Object.defineProperty(t.AutoFilter.prototype,\"baseFrequency\",{get:function(){return this._lfo.min},set:function(t){this._lfo.min=this.toFrequency(t),this.octaves=this._octaves}}),Object.defineProperty(t.AutoFilter.prototype,\"octaves\",{get:function(){return this._octaves},set:function(t){this._octaves=t,this._lfo.max=this.baseFrequency*Math.pow(2,t)}}),t.AutoFilter.prototype.dispose=function(){return t.Effect.prototype.dispose.call(this),this._lfo.dispose(),this._lfo=null,this.filter.dispose(),this.filter=null,this._writable([\"frequency\",\"depth\"]),this.frequency=null,this.depth=null,this},t.AutoFilter}),t(function(t){return t.AutoPanner=function(){var e=t.defaults(arguments,[\"frequency\"],t.AutoPanner);t.Effect.call(this,e),this._lfo=new t.LFO({frequency:e.frequency,amplitude:e.depth,min:-1,max:1}),this.depth=this._lfo.amplitude,this._panner=new t.Panner,this.frequency=this._lfo.frequency,this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this.type=e.type,this._readOnly([\"depth\",\"frequency\"])},t.extend(t.AutoPanner,t.Effect),t.AutoPanner.defaults={frequency:1,type:\"sine\",depth:1},t.AutoPanner.prototype.start=function(t){return this._lfo.start(t),this},t.AutoPanner.prototype.stop=function(t){return this._lfo.stop(t),this},t.AutoPanner.prototype.sync=function(t){return this._lfo.sync(t),this},t.AutoPanner.prototype.unsync=function(){return this._lfo.unsync(),this},Object.defineProperty(t.AutoPanner.prototype,\"type\",{get:function(){return this._lfo.type},set:function(t){this._lfo.type=t}}),t.AutoPanner.prototype.dispose=function(){return t.Effect.prototype.dispose.call(this),this._lfo.dispose(),this._lfo=null,this._panner.dispose(),this._panner=null,this._writable([\"depth\",\"frequency\"]),this.frequency=null,this.depth=null,this},t.AutoPanner}),t(function(t){return t.AutoWah=function(){var e=t.defaults(arguments,[\"baseFrequency\",\"octaves\",\"sensitivity\"],t.AutoWah);t.Effect.call(this,e),this.follower=new t.Follower(e.follower),this._sweepRange=new t.ScaleExp(0,1,.5),this._baseFrequency=e.baseFrequency,this._octaves=e.octaves,this._inputBoost=new t.Gain,this._bandpass=new t.Filter({rolloff:-48,frequency:0,Q:e.Q}),this._peaking=new t.Filter(0,\"peaking\"),this._peaking.gain.value=e.gain,this.gain=this._peaking.gain,this.Q=this._bandpass.Q,this.effectSend.chain(this._inputBoost,this.follower,this._sweepRange),this._sweepRange.connect(this._bandpass.frequency),this._sweepRange.connect(this._peaking.frequency),this.effectSend.chain(this._bandpass,this._peaking,this.effectReturn),this._setSweepRange(),this.sensitivity=e.sensitivity,this._readOnly([\"gain\",\"Q\"])},t.extend(t.AutoWah,t.Effect),t.AutoWah.defaults={baseFrequency:100,octaves:6,sensitivity:0,Q:2,gain:2,follower:{attack:.3,release:.5}},Object.defineProperty(t.AutoWah.prototype,\"octaves\",{get:function(){return this._octaves},set:function(t){this._octaves=t,this._setSweepRange()}}),Object.defineProperty(t.AutoWah.prototype,\"baseFrequency\",{get:function(){return this._baseFrequency},set:function(t){this._baseFrequency=t,this._setSweepRange()}}),Object.defineProperty(t.AutoWah.prototype,\"sensitivity\",{get:function(){return t.gainToDb(1/this._inputBoost.gain.value)},set:function(e){this._inputBoost.gain.value=1/t.dbToGain(e)}}),t.AutoWah.prototype._setSweepRange=function(){this._sweepRange.min=this._baseFrequency,this._sweepRange.max=Math.min(this._baseFrequency*Math.pow(2,this._octaves),this.context.sampleRate/2)},t.AutoWah.prototype.dispose=function(){return t.Effect.prototype.dispose.call(this),this.follower.dispose(),this.follower=null,this._sweepRange.dispose(),this._sweepRange=null,this._bandpass.dispose(),this._bandpass=null,this._peaking.dispose(),this._peaking=null,this._inputBoost.dispose(),this._inputBoost=null,this._writable([\"gain\",\"Q\"]),this.gain=null,this.Q=null,this},t.AutoWah}),t(function(t){return t.Modulo=function(e){t.SignalBase.call(this),this.createInsOuts(1,0),this._shaper=new t.WaveShaper(Math.pow(2,16)),this._multiply=new t.Multiply,this._subtract=this.output=new t.Subtract,this._modSignal=new t.Signal(e),this.input.fan(this._shaper,this._subtract),this._modSignal.connect(this._multiply,0,0),this._shaper.connect(this._multiply,0,1),this._multiply.connect(this._subtract,0,1),this._setWaveShaper(e)},t.extend(t.Modulo,t.SignalBase),t.Modulo.prototype._setWaveShaper=function(t){this._shaper.setMap(function(e){return Math.floor((e+1e-4)/t)})},Object.defineProperty(t.Modulo.prototype,\"value\",{get:function(){return this._modSignal.value},set:function(t){this._modSignal.value=t,this._setWaveShaper(t)}}),t.Modulo.prototype.dispose=function(){return t.SignalBase.prototype.dispose.call(this),this._shaper.dispose(),this._shaper=null,this._multiply.dispose(),this._multiply=null,this._subtract.dispose(),this._subtract=null,this._modSignal.dispose(),this._modSignal=null,this},t.Modulo}),t(function(t){return t.BitCrusher=function(){var e=t.defaults(arguments,[\"bits\"],t.BitCrusher);t.Effect.call(this,e);var i=1/Math.pow(2,e.bits-1);this._subtract=new t.Subtract,this._modulo=new t.Modulo(i),this._bits=e.bits,this.effectSend.fan(this._subtract,this._modulo),this._modulo.connect(this._subtract,0,1),this._subtract.connect(this.effectReturn)},t.extend(t.BitCrusher,t.Effect),t.BitCrusher.defaults={bits:4},Object.defineProperty(t.BitCrusher.prototype,\"bits\",{get:function(){return this._bits},set:function(t){this._bits=t;var e=1/Math.pow(2,t-1);this._modulo.value=e}}),t.BitCrusher.prototype.dispose=function(){return t.Effect.prototype.dispose.call(this),this._subtract.dispose(),this._subtract=null,this._modulo.dispose(),this._modulo=null,this},t.BitCrusher}),t(function(t){return t.Chebyshev=function(){var e=t.defaults(arguments,[\"order\"],t.Chebyshev);t.Effect.call(this,e),this._shaper=new t.WaveShaper(4096),this._order=e.order,this.connectEffect(this._shaper),this.order=e.order,this.oversample=e.oversample},t.extend(t.Chebyshev,t.Effect),t.Chebyshev.defaults={order:1,oversample:\"none\"},t.Chebyshev.prototype._getCoefficient=function(t,e,i){return i.hasOwnProperty(e)?i[e]:(i[e]=0===e?0:1===e?t:2*t*this._getCoefficient(t,e-1,i)-this._getCoefficient(t,e-2,i),i[e])},Object.defineProperty(t.Chebyshev.prototype,\"order\",{get:function(){return this._order},set:function(t){this._order=t;for(var e=new Array(4096),i=e.length,n=0;n=this._startTime&&!this._sourceStopped?t.State.Started:t.State.Stopped},t.BufferSource.prototype.start=function(e,i,n,s,o){if(-1!==this._startTime)throw new Error(\"Tone.BufferSource can only be started once.\");if(!this.buffer.loaded)throw new Error(\"Tone.BufferSource: buffer is either not set or not loaded.\");e=this.toSeconds(e),i=this.loop?t.defaultArg(i,this.loopStart):t.defaultArg(i,0),i=this.toSeconds(i),s=t.defaultArg(s,1),this._gain=s,o=this.toSeconds(t.defaultArg(o,this.fadeIn)),this.fadeIn=o,o>0?(this._gainNode.gain.setValueAtTime(0,e),\"linear\"===this.curve?this._gainNode.gain.linearRampToValueAtTime(this._gain,e+o):this._gainNode.gain.exponentialApproachValueAtTime(this._gain,e,o)):this._gainNode.gain.setValueAtTime(s,e),this._startTime=e;var r=this.toSeconds(t.defaultArg(n,this.buffer.duration-i%this.buffer.duration));if(r=Math.max(r,0),t.isDefined(n)&&(this.loop||(r=Math.min(r,this.buffer.duration-i%this.buffer.duration)),this.stop(e+r,this.fadeOut)),this.loop){var a=this.loopEnd||this.buffer.duration,h=this.loopStart,u=a-h;i>=a&&(i=(i-h)%u+h)}return this._source.buffer=this.buffer.get(),this._source.loopEnd=this.loopEnd||this.buffer.duration,ithis.sampleTime?(this._gainNode.gain.setValueAtTime(this._gain,s),\"linear\"===this.curve?this._gainNode.gain.linearRampToValueAtTime(0,e):this._gainNode.gain.exponentialApproachValueAtTime(0,s,i)):this._gainNode.gain.setValueAtTime(0,e),t.context.clearTimeout(this._onendedTimeout),this._onendedTimeout=t.context.setTimeout(this._onended.bind(this),this._stopTime-this.now()),this}},t.BufferSource.prototype.cancelStop=function(){if(-1!==this._startTime&&!this._sourceStopped){var t=this.toSeconds(this.fadeIn);this._gainNode.gain.cancelScheduledValues(this._startTime+t+this.sampleTime),this._gainNode.gain.setValueAtTime(1,Math.max(this.now(),this._startTime+t+this.sampleTime)),this.context.clearTimeout(this._onendedTimeout),this._stopTime=-1}return this},t.BufferSource.prototype._onended=function(){if(!this._sourceStopped){this._sourceStopped=!0;var t=\"exponential\"===this.curve?2*this.fadeOut:0;this._sourceStarted&&-1!==this._stopTime&&this._source.stop(this._stopTime+t),this.onended(this)}},Object.defineProperty(t.BufferSource.prototype,\"loopStart\",{get:function(){return this._source.loopStart},set:function(t){this._source.loopStart=this.toSeconds(t)}}),Object.defineProperty(t.BufferSource.prototype,\"loopEnd\",{get:function(){return this._source.loopEnd},set:function(t){this._source.loopEnd=this.toSeconds(t)}}),Object.defineProperty(t.BufferSource.prototype,\"buffer\",{get:function(){return this._buffer},set:function(t){this._buffer.set(t)}}),Object.defineProperty(t.BufferSource.prototype,\"loop\",{get:function(){return this._source.loop},set:function(t){this._source.loop=t,this.cancelStop()}}),t.BufferSource.prototype.dispose=function(){return t.AudioNode.prototype.dispose.call(this),this.onended=null,this._source.onended=null,this._source.disconnect(),this._source=null,this._gainNode.dispose(),this._gainNode=null,this._buffer.dispose(),this._buffer=null,this._startTime=-1,this.playbackRate=null,t.context.clearTimeout(this._onendedTimeout),this},t.BufferSource}),t(function(t){function e(){for(var e in i)n[e]=(new t.Buffer).fromArray(i[e])}t.Noise=function(){var e=t.defaults(arguments,[\"type\"],t.Noise);t.Source.call(this,e),this._source=null,this._type=e.type,this._playbackRate=e.playbackRate},t.extend(t.Noise,t.Source),t.Noise.defaults={type:\"white\",playbackRate:1},Object.defineProperty(t.Noise.prototype,\"type\",{get:function(){return this._type},set:function(e){if(this._type!==e){if(!(e in n))throw new TypeError(\"Tone.Noise: invalid type: \"+e);if(this._type=e,this.state===t.State.Started){var i=this.now();this._stop(i),this._start(i)}}}}),Object.defineProperty(t.Noise.prototype,\"playbackRate\",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this._source&&(this._source.playbackRate.value=t)}}),t.Noise.prototype._start=function(e){var i=n[this._type];this._source=new t.BufferSource(i).connect(this.output),this._source.loop=!0,this._source.playbackRate.value=this._playbackRate,this._source.start(this.toSeconds(e),Math.random()*(i.duration-.001))},t.Noise.prototype._stop=function(t){this._source&&(this._source.stop(this.toSeconds(t)),this._source=null)},t.Noise.prototype.restart=function(t){this._stop(t),this._start(t)},t.Noise.prototype.dispose=function(){return t.Source.prototype.dispose.call(this),null!==this._source&&(this._source.disconnect(),this._source=null),this._buffer=null,this};var i={pink:function(){for(var t=[],e=0;e<2;e++){var i=new Float32Array(220500);t[e]=i;var n,s,o,r,a,h,u;n=s=o=r=a=h=u=0;for(var l=0;l<220500;l++){var c=2*Math.random()-1;n=.99886*n+.0555179*c,s=.99332*s+.0750759*c,o=.969*o+.153852*c,r=.8665*r+.3104856*c,a=.55*a+.5329522*c,h=-.7616*h-.016898*c,i[l]=n+s+o+r+a+h+u+.5362*c,i[l]*=.11,u=.115926*c}}return t}(),brown:function(){for(var t=[],e=0;e<2;e++){var i=new Float32Array(220500);t[e]=i;for(var n=0,s=0;s<220500;s++){var o=2*Math.random()-1;i[s]=(n+.02*o)/1.02,n=i[s],i[s]*=3.5}}return t}(),white:function(){for(var t=[],e=0;e<2;e++){var i=new Float32Array(220500);t[e]=i;for(var n=0;n<220500;n++)i[n]=2*Math.random()-1}return t}()},n={};return t.getContext(e),t.Context.on(\"init\",e),t.Noise}),t(function(t){return t.Reverb=function(){var e=t.defaults(arguments,[\"decay\"],t.Reverb);t.Effect.call(this,e),this._convolver=this.context.createConvolver(),this.decay=e.decay,this.preDelay=e.preDelay,this.connectEffect(this._convolver)},t.extend(t.Reverb,t.Effect),t.Reverb.defaults={decay:1.5,preDelay:.01},t.Reverb.prototype.generate=function(){return t.Offline(function(){var e=new t.Noise,i=new t.Noise,n=new t.Merge;e.connect(n.left),i.connect(n.right);var s=(new t.Gain).toMaster();n.connect(s),e.start(0),i.start(0),s.gain.setValueAtTime(0,0),s.gain.linearRampToValueAtTime(1,this.preDelay),s.gain.exponentialApproachValueAtTime(0,this.preDelay,this.decay-this.preDelay)}.bind(this),this.decay).then(function(t){return this._convolver.buffer=t.get(),this}.bind(this))},t.Reverb.prototype.dispose=function(){return t.Effect.prototype.dispose.call(this),this._convolver.disconnect(),this._convolver=null,this},t.Reverb}),t(function(t){return t.StereoFeedbackEffect=function(){var e=t.defaults(arguments,[\"feedback\"],t.FeedbackEffect);t.StereoEffect.call(this,e),this.feedback=new t.Signal(e.feedback,t.Type.NormalRange),this._feedbackL=new t.Gain,this._feedbackR=new t.Gain,this.effectReturnL.chain(this._feedbackL,this.effectSendL),this.effectReturnR.chain(this._feedbackR,this.effectSendR),this.feedback.fan(this._feedbackL.gain,this._feedbackR.gain),this._readOnly([\"feedback\"])},t.extend(t.StereoFeedbackEffect,t.StereoEffect),t.StereoFeedbackEffect.prototype.dispose=function(){return t.StereoEffect.prototype.dispose.call(this),this._writable([\"feedback\"]),this.feedback.dispose(),this.feedback=null,this._feedbackL.dispose(),this._feedbackL=null,this._feedbackR.dispose(),this._feedbackR=null,this},t.StereoFeedbackEffect}),t(function(t){return t.StereoWidener=function(){var e=t.defaults(arguments,[\"width\"],t.StereoWidener);t.MidSideEffect.call(this,e),this.width=new t.Signal(e.width,t.Type.NormalRange),this._readOnly([\"width\"]),this._twoTimesWidthMid=new t.Multiply(2),this._twoTimesWidthSide=new t.Multiply(2),this._midMult=new t.Multiply,this._twoTimesWidthMid.connect(this._midMult,0,1),this.midSend.chain(this._midMult,this.midReturn),this._oneMinusWidth=new t.Subtract,this._oneMinusWidth.connect(this._twoTimesWidthMid),this.context.getConstant(1).connect(this._oneMinusWidth,0,0),this.width.connect(this._oneMinusWidth,0,1),this._sideMult=new t.Multiply,this.width.connect(this._twoTimesWidthSide),this._twoTimesWidthSide.connect(this._sideMult,0,1),this.sideSend.chain(this._sideMult,this.sideReturn)},t.extend(t.StereoWidener,t.MidSideEffect),t.StereoWidener.defaults={width:.5},t.StereoWidener.prototype.dispose=function(){return t.MidSideEffect.prototype.dispose.call(this),this._writable([\"width\"]),this.width.dispose(),this.width=null,this._midMult.dispose(),this._midMult=null,this._sideMult.dispose(),this._sideMult=null,this._twoTimesWidthMid.dispose(),this._twoTimesWidthMid=null,this._twoTimesWidthSide.dispose(),this._twoTimesWidthSide=null,this._oneMinusWidth.dispose(),this._oneMinusWidth=null,this},t.StereoWidener}),t(function(t){return t.Tremolo=function(){var e=t.defaults(arguments,[\"frequency\",\"depth\"],t.Tremolo);t.StereoEffect.call(this,e),this._lfoL=new t.LFO({phase:e.spread,min:1,max:0}),this._lfoR=new t.LFO({phase:e.spread,min:1,max:0}),this._amplitudeL=new t.Gain,this._amplitudeR=new t.Gain,this.frequency=new t.Signal(e.frequency,t.Type.Frequency),this.depth=new t.Signal(e.depth,t.Type.NormalRange),this._readOnly([\"frequency\",\"depth\"]),this.effectSendL.chain(this._amplitudeL,this.effectReturnL),this.effectSendR.chain(this._amplitudeR,this.effectReturnR),this._lfoL.connect(this._amplitudeL.gain),this._lfoR.connect(this._amplitudeR.gain),this.frequency.fan(this._lfoL.frequency,this._lfoR.frequency),this.depth.fan(this._lfoR.amplitude,this._lfoL.amplitude),this.type=e.type,this.spread=e.spread},t.extend(t.Tremolo,t.StereoEffect),t.Tremolo.defaults={frequency:10,type:\"sine\",depth:.5,spread:180},t.Tremolo.prototype.start=function(t){return this._lfoL.start(t),this._lfoR.start(t),this},t.Tremolo.prototype.stop=function(t){return this._lfoL.stop(t),this._lfoR.stop(t),this},t.Tremolo.prototype.sync=function(e){return this._lfoL.sync(e),this._lfoR.sync(e),t.Transport.syncSignal(this.frequency),this},t.Tremolo.prototype.unsync=function(){return this._lfoL.unsync(),this._lfoR.unsync(),t.Transport.unsyncSignal(this.frequency),this},Object.defineProperty(t.Tremolo.prototype,\"type\",{get:function(){return this._lfoL.type},set:function(t){this._lfoL.type=t,this._lfoR.type=t}}),Object.defineProperty(t.Tremolo.prototype,\"spread\",{get:function(){return this._lfoR.phase-this._lfoL.phase},set:function(t){this._lfoL.phase=90-t/2,this._lfoR.phase=t/2+90}}),t.Tremolo.prototype.dispose=function(){return t.StereoEffect.prototype.dispose.call(this),this._writable([\"frequency\",\"depth\"]),this._lfoL.dispose(),this._lfoL=null,this._lfoR.dispose(),this._lfoR=null,this._amplitudeL.dispose(),this._amplitudeL=null,this._amplitudeR.dispose(),this._amplitudeR=null,this.frequency=null,this.depth=null,this},t.Tremolo}),t(function(t){return t.Vibrato=function(){var e=t.defaults(arguments,[\"frequency\",\"depth\"],t.Vibrato);t.Effect.call(this,e),this._delayNode=new t.Delay(0,e.maxDelay),this._lfo=new t.LFO({type:e.type,min:0,max:e.maxDelay,frequency:e.frequency,phase:-90}).start().connect(this._delayNode.delayTime),this.frequency=this._lfo.frequency,this.depth=this._lfo.amplitude,this.depth.value=e.depth,this._readOnly([\"frequency\",\"depth\"]),this.effectSend.chain(this._delayNode,this.effectReturn)},t.extend(t.Vibrato,t.Effect),t.Vibrato.defaults={maxDelay:.005,frequency:5,depth:.1,type:\"sine\"},Object.defineProperty(t.Vibrato.prototype,\"type\",{get:function(){return this._lfo.type},set:function(t){this._lfo.type=t}}),t.Vibrato.prototype.dispose=function(){t.Effect.prototype.dispose.call(this),this._delayNode.dispose(),this._delayNode=null,this._lfo.dispose(),this._lfo=null,this._writable([\"frequency\",\"depth\"]),this.frequency=null,this.depth=null},t.Vibrato}),t(function(t){return t.Event=function(){var e=t.defaults(arguments,[\"callback\",\"value\"],t.Event);t.call(this),this._loop=e.loop,this.callback=e.callback,this.value=e.value,this._loopStart=this.toTicks(e.loopStart),this._loopEnd=this.toTicks(e.loopEnd),this._state=new t.TimelineState(t.State.Stopped),this._playbackRate=1,this._startOffset=0,this._probability=e.probability,this._humanize=e.humanize,this.mute=e.mute,this.playbackRate=e.playbackRate},t.extend(t.Event),t.Event.defaults={callback:t.noOp,loop:!1,loopEnd:\"1m\",loopStart:0,playbackRate:1,value:null,probability:1,mute:!1,humanize:!1},t.Event.prototype._rescheduleEvents=function(e){return e=t.defaultArg(e,-1),this._state.forEachFrom(e,function(e){var i;if(e.state===t.State.Started){t.isDefined(e.id)&&t.Transport.clear(e.id);var n=e.time+Math.round(this.startOffset/this._playbackRate);if(this._loop){i=1/0,t.isNumber(this._loop)&&(i=this._loop*this._getLoopDuration());var s=this._state.getAfter(n);null!==s&&(i=Math.min(i,s.time-n)),i!==1/0&&(this._state.setStateAtTime(t.State.Stopped,n+i+1),i=t.Ticks(i));var o=t.Ticks(this._getLoopDuration());e.id=t.Transport.scheduleRepeat(this._tick.bind(this),o,t.Ticks(n),i)}else e.id=t.Transport.schedule(this._tick.bind(this),t.Ticks(n))}}.bind(this)),this},Object.defineProperty(t.Event.prototype,\"state\",{get:function(){return this._state.getValueAtTime(t.Transport.ticks)}}),Object.defineProperty(t.Event.prototype,\"startOffset\",{get:function(){return this._startOffset},set:function(t){this._startOffset=t}}),Object.defineProperty(t.Event.prototype,\"probability\",{get:function(){return this._probability},set:function(t){this._probability=t}}),Object.defineProperty(t.Event.prototype,\"humanize\",{get:function(){return this._humanize},set:function(t){this._humanize=t}}),t.Event.prototype.start=function(e){return e=this.toTicks(e),this._state.getValueAtTime(e)===t.State.Stopped&&(this._state.add({state:t.State.Started,time:e,id:void 0}),this._rescheduleEvents(e)),this},t.Event.prototype.stop=function(e){if(this.cancel(e),e=this.toTicks(e),this._state.getValueAtTime(e)===t.State.Started){this._state.setStateAtTime(t.State.Stopped,e);var i=this._state.getBefore(e),n=e;null!==i&&(n=i.time),this._rescheduleEvents(n)}return this},t.Event.prototype.cancel=function(e){return e=t.defaultArg(e,-1/0),e=this.toTicks(e),this._state.forEachFrom(e,function(e){t.Transport.clear(e.id)}),this._state.cancel(e),this},t.Event.prototype._tick=function(e){var i=t.Transport.getTicksAtTime(e);if(!this.mute&&this._state.getValueAtTime(i)===t.State.Started){if(this.probability<1&&Math.random()>this.probability)return;if(this.humanize){var n=.02;t.isBoolean(this.humanize)||(n=this.toSeconds(this.humanize)),e+=(2*Math.random()-1)*n}this.callback(e,this.value)}},t.Event.prototype._getLoopDuration=function(){return Math.round((this._loopEnd-this._loopStart)/this._playbackRate)},Object.defineProperty(t.Event.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._rescheduleEvents()}}),Object.defineProperty(t.Event.prototype,\"playbackRate\",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this._rescheduleEvents()}}),Object.defineProperty(t.Event.prototype,\"loopEnd\",{get:function(){return t.Ticks(this._loopEnd).toSeconds()},set:function(t){this._loopEnd=this.toTicks(t),this._loop&&this._rescheduleEvents()}}),Object.defineProperty(t.Event.prototype,\"loopStart\",{get:function(){return t.Ticks(this._loopStart).toSeconds()},set:function(t){this._loopStart=this.toTicks(t),this._loop&&this._rescheduleEvents()}}),Object.defineProperty(t.Event.prototype,\"progress\",{get:function(){if(this._loop){var e=t.Transport.ticks,i=this._state.get(e);if(null!==i&&i.state===t.State.Started){var n=this._getLoopDuration();return(e-i.time)%n/n}return 0}return 0}}),t.Event.prototype.dispose=function(){this.cancel(),this._state.dispose(),this._state=null,this.callback=null,this.value=null},t.Event}),t(function(t){return t.Loop=function(){var e=t.defaults(arguments,[\"callback\",\"interval\"],t.Loop);t.call(this),this._event=new t.Event({callback:this._tick.bind(this),loop:!0,loopEnd:e.interval,playbackRate:e.playbackRate,probability:e.probability}),this.callback=e.callback,this.iterations=e.iterations},t.extend(t.Loop),t.Loop.defaults={interval:\"4n\",callback:t.noOp,playbackRate:1,iterations:1/0,probability:!0,mute:!1},t.Loop.prototype.start=function(t){return this._event.start(t),this},t.Loop.prototype.stop=function(t){return this._event.stop(t),this},t.Loop.prototype.cancel=function(t){return this._event.cancel(t),this},t.Loop.prototype._tick=function(t){this.callback(t)},Object.defineProperty(t.Loop.prototype,\"state\",{get:function(){return this._event.state}}),Object.defineProperty(t.Loop.prototype,\"progress\",{get:function(){return this._event.progress}}),Object.defineProperty(t.Loop.prototype,\"interval\",{get:function(){return this._event.loopEnd},set:function(t){this._event.loopEnd=t}}),Object.defineProperty(t.Loop.prototype,\"playbackRate\",{get:function(){return this._event.playbackRate},set:function(t){this._event.playbackRate=t}}),Object.defineProperty(t.Loop.prototype,\"humanize\",{get:function(){return this._event.humanize},set:function(t){this._event.humanize=t}}),Object.defineProperty(t.Loop.prototype,\"probability\",{get:function(){return this._event.probability},set:function(t){this._event.probability=t}}),Object.defineProperty(t.Loop.prototype,\"mute\",{get:function(){return this._event.mute},set:function(t){this._event.mute=t}}),Object.defineProperty(t.Loop.prototype,\"iterations\",{get:function(){return!0===this._event.loop?1/0:this._event.loop},set:function(t){this._event.loop=t===1/0||t}}),t.Loop.prototype.dispose=function(){this._event.dispose(),this._event=null,this.callback=null},t.Loop}),t(function(t){return t.Part=function(){var e=t.defaults(arguments,[\"callback\",\"events\"],t.Part);t.Event.call(this,e),this._events=[];for(var i=0;i=this._loopStart&&e.startOffset=n&&(e.loop=!1,e.start(t.Ticks(i))):e.startOffset>=n&&e.start(t.Ticks(i))},Object.defineProperty(t.Part.prototype,\"startOffset\",{get:function(){return this._startOffset},set:function(t){this._startOffset=t,this._forEach(function(t){t.startOffset+=this._startOffset})}}),t.Part.prototype.stop=function(e){var i=this.toTicks(e);return this._state.cancel(i),this._state.setStateAtTime(t.State.Stopped,i),this._forEach(function(t){t.stop(e)}),this},t.Part.prototype.at=function(e,i){e=t.TransportTime(e);for(var n=t.Ticks(1).toSeconds(),s=0;s=0;n--){var s=this._events[n];s instanceof t.Part?s.remove(e,i):s.startOffset===e&&(t.isUndef(i)||t.isDefined(i)&&s.value===i)&&(this._events.splice(n,1),s.dispose())}return this},t.Part.prototype.removeAll=function(){return this._forEach(function(t){t.dispose()}),this._events=[],this},t.Part.prototype.cancel=function(t){return this._forEach(function(e){e.cancel(t)}),this._state.cancel(this.toTicks(t)),this},t.Part.prototype._forEach=function(e,i){if(this._events){i=t.defaultArg(i,this);for(var n=this._events.length-1;n>=0;n--){var s=this._events[n];s instanceof t.Part?s._forEach(e,i):e.call(i,s)}}return this},t.Part.prototype._setAll=function(t,e){this._forEach(function(i){i[t]=e})},t.Part.prototype._tick=function(t,e){this.mute||this.callback(t,e)},t.Part.prototype._testLoopBoundries=function(e){e.startOffset=this._loopEnd?e.cancel(0):e.state===t.State.Stopped&&this._restartEvent(e)},Object.defineProperty(t.Part.prototype,\"probability\",{get:function(){return this._probability},set:function(t){this._probability=t,this._setAll(\"probability\",t)}}),Object.defineProperty(t.Part.prototype,\"humanize\",{get:function(){return this._humanize},set:function(t){this._humanize=t,this._setAll(\"humanize\",t)}}),Object.defineProperty(t.Part.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._forEach(function(e){e._loopStart=this._loopStart,e._loopEnd=this._loopEnd,e.loop=t,this._testLoopBoundries(e)})}}),Object.defineProperty(t.Part.prototype,\"loopEnd\",{get:function(){return t.Ticks(this._loopEnd).toSeconds()},set:function(t){this._loopEnd=this.toTicks(t),this._loop&&this._forEach(function(e){e.loopEnd=t,this._testLoopBoundries(e)})}}),Object.defineProperty(t.Part.prototype,\"loopStart\",{get:function(){return t.Ticks(this._loopStart).toSeconds()},set:function(t){this._loopStart=this.toTicks(t),this._loop&&this._forEach(function(t){t.loopStart=this.loopStart,this._testLoopBoundries(t)})}}),Object.defineProperty(t.Part.prototype,\"playbackRate\",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this._setAll(\"playbackRate\",t)}}),Object.defineProperty(t.Part.prototype,\"length\",{get:function(){return this._events.length}}),t.Part.prototype.dispose=function(){return this.removeAll(),this._state.dispose(),this._state=null,this.callback=null,this._events=null,this},t.Part}),t(function(t){return t.Pattern=function(){var e=t.defaults(arguments,[\"callback\",\"values\",\"pattern\"],t.Pattern);t.Loop.call(this,e),this._pattern=new t.CtrlPattern({values:e.values,type:e.pattern,index:e.index})},t.extend(t.Pattern,t.Loop),t.Pattern.defaults={pattern:t.CtrlPattern.Type.Up,callback:t.noOp,values:[]},t.Pattern.prototype._tick=function(t){this.callback(t,this._pattern.value),this._pattern.next()},Object.defineProperty(t.Pattern.prototype,\"index\",{get:function(){return this._pattern.index},set:function(t){this._pattern.index=t}}),Object.defineProperty(t.Pattern.prototype,\"values\",{get:function(){return this._pattern.values},set:function(t){this._pattern.values=t}}),Object.defineProperty(t.Pattern.prototype,\"value\",{get:function(){return this._pattern.value}}),Object.defineProperty(t.Pattern.prototype,\"pattern\",{get:function(){return this._pattern.type},set:function(t){this._pattern.type=t}}),t.Pattern.prototype.dispose=function(){t.Loop.prototype.dispose.call(this),this._pattern.dispose(),this._pattern=null},t.Pattern}),t(function(t){return t.Sequence=function(){var e=t.defaults(arguments,[\"callback\",\"events\",\"subdivision\"],t.Sequence),i=e.events;if(delete e.events,t.Part.call(this,e),this._subdivision=this.toTicks(e.subdivision),t.isUndef(e.loopEnd)&&t.isDefined(i)&&(this._loopEnd=i.length*this._subdivision),this._loop=!0,t.isDefined(i))for(var n=0;n1){var e=-t/2,i=t/(this._oscillators.length-1);this._forEach(function(t,n){t.detune.value=e+i*n})}}}),Object.defineProperty(t.FatOscillator.prototype,\"count\",{get:function(){return this._oscillators.length},set:function(e){if(e=Math.max(e,1),this._oscillators.length!==e){this._forEach(function(t){t.dispose()}),this._oscillators=[];for(var i=0;i0&&this.getLevelAtTime(e)>.05){var i=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(t,i,e)}else this.frequency.setValueAtTime(t,e);return this},t.Monophonic}),t(function(t){return t.Synth=function(e){e=t.defaultArg(e,t.Synth.defaults),t.Monophonic.call(this,e),this.oscillator=new t.OmniOscillator(e.oscillator),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new t.AmplitudeEnvelope(e.envelope),this.oscillator.chain(this.envelope,this.output),this._readOnly([\"oscillator\",\"frequency\",\"detune\",\"envelope\"])},t.extend(t.Synth,t.Monophonic),t.Synth.defaults={oscillator:{type:\"triangle\"},envelope:{attack:.005,decay:.1,sustain:.3,release:1}},t.Synth.prototype._triggerEnvelopeAttack=function(t,e){return this.envelope.triggerAttack(t,e),this.oscillator.start(t),0===this.envelope.sustain&&this.oscillator.stop(t+this.envelope.attack+this.envelope.decay),this},t.Synth.prototype._triggerEnvelopeRelease=function(t){return t=this.toSeconds(t),this.envelope.triggerRelease(t),this.oscillator.stop(t+this.envelope.release),this},t.Synth.prototype.dispose=function(){return t.Monophonic.prototype.dispose.call(this),this._writable([\"oscillator\",\"frequency\",\"detune\",\"envelope\"]),this.oscillator.dispose(),this.oscillator=null,this.envelope.dispose(),this.envelope=null,this.frequency=null,this.detune=null,this},t.Synth}),t(function(t){return t.AMSynth=function(e){e=t.defaultArg(e,t.AMSynth.defaults),t.Monophonic.call(this,e),this._carrier=new t.Synth,this._carrier.volume.value=-10,this.oscillator=this._carrier.oscillator,this.envelope=this._carrier.envelope.set(e.envelope),this._modulator=new t.Synth,this._modulator.volume.value=-10,this.modulation=this._modulator.oscillator.set(e.modulation),this.modulationEnvelope=this._modulator.envelope.set(e.modulationEnvelope),this.frequency=new t.Signal(440,t.Type.Frequency),this.detune=new t.Signal(e.detune,t.Type.Cents),this.harmonicity=new t.Multiply(e.harmonicity),this.harmonicity.units=t.Type.Positive,this._modulationScale=new t.AudioToGain,this._modulationNode=new t.Gain,this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.detune.fan(this._carrier.detune,this._modulator.detune),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),this._readOnly([\"frequency\",\"harmonicity\",\"oscillator\",\"envelope\",\"modulation\",\"modulationEnvelope\",\"detune\"])},t.extend(t.AMSynth,t.Monophonic),t.AMSynth.defaults={harmonicity:3,detune:0,oscillator:{type:\"sine\"},envelope:{attack:.01,decay:.01,sustain:1,release:.5},modulation:{type:\"square\"},modulationEnvelope:{attack:.5,decay:0,sustain:1,release:.5}},t.AMSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this._carrier._triggerEnvelopeAttack(t,e),this._modulator._triggerEnvelopeAttack(t),this},t.AMSynth.prototype._triggerEnvelopeRelease=function(t){return this._carrier._triggerEnvelopeRelease(t),this._modulator._triggerEnvelopeRelease(t),this},t.AMSynth.prototype.dispose=function(){return t.Monophonic.prototype.dispose.call(this),this._writable([\"frequency\",\"harmonicity\",\"oscillator\",\"envelope\",\"modulation\",\"modulationEnvelope\",\"detune\"]),this._carrier.dispose(),this._carrier=null,this._modulator.dispose(),this._modulator=null,this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this.harmonicity.dispose(),this.harmonicity=null,this._modulationScale.dispose(),this._modulationScale=null,this._modulationNode.dispose(),this._modulationNode=null,this.oscillator=null,this.envelope=null,this.modulationEnvelope=null,this.modulation=null,this},t.AMSynth}),t(function(t){return t.MonoSynth=function(e){e=t.defaultArg(e,t.MonoSynth.defaults),t.Monophonic.call(this,e),this.oscillator=new t.OmniOscillator(e.oscillator),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new t.Filter(e.filter),this.filterEnvelope=new t.FrequencyEnvelope(e.filterEnvelope),this.envelope=new t.AmplitudeEnvelope(e.envelope),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),this._readOnly([\"oscillator\",\"frequency\",\"detune\",\"filter\",\"filterEnvelope\",\"envelope\"])},t.extend(t.MonoSynth,t.Monophonic),t.MonoSynth.defaults={frequency:\"C4\",detune:0,oscillator:{type:\"square\"},filter:{Q:6,type:\"lowpass\",rolloff:-24},envelope:{attack:.005,decay:.1,sustain:.9,release:1},filterEnvelope:{attack:.06,decay:.2,sustain:.5,release:2,baseFrequency:200,octaves:7,exponent:2}},t.MonoSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this.envelope.triggerAttack(t,e),this.filterEnvelope.triggerAttack(t),this.oscillator.start(t),0===this.envelope.sustain&&this.oscillator.stop(t+this.envelope.attack+this.envelope.decay),this},t.MonoSynth.prototype._triggerEnvelopeRelease=function(t){return this.envelope.triggerRelease(t),this.filterEnvelope.triggerRelease(t),this.oscillator.stop(t+this.envelope.release),this},t.MonoSynth.prototype.dispose=function(){return t.Monophonic.prototype.dispose.call(this),this._writable([\"oscillator\",\"frequency\",\"detune\",\"filter\",\"filterEnvelope\",\"envelope\"]),this.oscillator.dispose(),this.oscillator=null,this.envelope.dispose(),this.envelope=null,this.filterEnvelope.dispose(),this.filterEnvelope=null,this.filter.dispose(),this.filter=null,this.frequency=null,this.detune=null,this},t.MonoSynth}),t(function(t){return t.DuoSynth=function(e){e=t.defaultArg(e,t.DuoSynth.defaults),t.Monophonic.call(this,e),this.voice0=new t.MonoSynth(e.voice0),this.voice0.volume.value=-10,this.voice1=new t.MonoSynth(e.voice1),this.voice1.volume.value=-10,this._vibrato=new t.LFO(e.vibratoRate,-50,50),this._vibrato.start(),this.vibratoRate=this._vibrato.frequency,this._vibratoGain=new t.Gain(e.vibratoAmount,t.Type.Positive),this.vibratoAmount=this._vibratoGain.gain,this.frequency=new t.Signal(440,t.Type.Frequency),this.harmonicity=new t.Multiply(e.harmonicity),this.harmonicity.units=t.Type.Positive,this.frequency.connect(this.voice0.frequency),this.frequency.chain(this.harmonicity,this.voice1.frequency),this._vibrato.connect(this._vibratoGain),this._vibratoGain.fan(this.voice0.detune,this.voice1.detune),this.voice0.connect(this.output),this.voice1.connect(this.output),this._readOnly([\"voice0\",\"voice1\",\"frequency\",\"vibratoAmount\",\"vibratoRate\"])},t.extend(t.DuoSynth,t.Monophonic),t.DuoSynth.defaults={vibratoAmount:.5,vibratoRate:5,harmonicity:1.5,voice0:{volume:-10,portamento:0,oscillator:{type:\"sine\"},filterEnvelope:{attack:.01,decay:0,sustain:1,release:.5},envelope:{attack:.01,decay:0,sustain:1,release:.5}},voice1:{volume:-10,portamento:0,oscillator:{type:\"sine\"},filterEnvelope:{attack:.01,decay:0,sustain:1,release:.5},envelope:{attack:.01,decay:0,sustain:1,release:.5}}},t.DuoSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this.voice0._triggerEnvelopeAttack(t,e),this.voice1._triggerEnvelopeAttack(t,e),this},t.DuoSynth.prototype._triggerEnvelopeRelease=function(t){return this.voice0._triggerEnvelopeRelease(t),this.voice1._triggerEnvelopeRelease(t),this},t.DuoSynth.prototype.getLevelAtTime=function(t){return(this.voice0.getLevelAtTime(t)+this.voice1.getLevelAtTime(t))/2},t.DuoSynth.prototype.dispose=function(){return t.Monophonic.prototype.dispose.call(this),this._writable([\"voice0\",\"voice1\",\"frequency\",\"vibratoAmount\",\"vibratoRate\"]),this.voice0.dispose(),this.voice0=null,this.voice1.dispose(),this.voice1=null,this.frequency.dispose(),this.frequency=null,this._vibratoGain.dispose(),this._vibratoGain=null,this._vibrato=null,this.harmonicity.dispose(),this.harmonicity=null,this.vibratoAmount.dispose(),this.vibratoAmount=null,this.vibratoRate=null,this},t.DuoSynth}),t(function(t){return t.FMSynth=function(e){e=t.defaultArg(e,t.FMSynth.defaults),t.Monophonic.call(this,e),this._carrier=new t.Synth(e.carrier),this._carrier.volume.value=-10,this.oscillator=this._carrier.oscillator,this.envelope=this._carrier.envelope.set(e.envelope),this._modulator=new t.Synth(e.modulator),this._modulator.volume.value=-10,this.modulation=this._modulator.oscillator.set(e.modulation),this.modulationEnvelope=this._modulator.envelope.set(e.modulationEnvelope),this.frequency=new t.Signal(440,t.Type.Frequency),this.detune=new t.Signal(e.detune,t.Type.Cents),this.harmonicity=new t.Multiply(e.harmonicity),this.harmonicity.units=t.Type.Positive,this.modulationIndex=new t.Multiply(e.modulationIndex),this.modulationIndex.units=t.Type.Positive,this._modulationNode=new t.Gain(0),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this.detune.fan(this._carrier.detune,this._modulator.detune),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this._readOnly([\"frequency\",\"harmonicity\",\"modulationIndex\",\"oscillator\",\"envelope\",\"modulation\",\"modulationEnvelope\",\"detune\"])},t.extend(t.FMSynth,t.Monophonic),t.FMSynth.defaults={harmonicity:3,modulationIndex:10,detune:0,oscillator:{type:\"sine\"},envelope:{attack:.01,decay:.01,sustain:1,release:.5},modulation:{type:\"square\"},modulationEnvelope:{attack:.5,decay:0,sustain:1,release:.5}},t.FMSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this._carrier._triggerEnvelopeAttack(t,e),this._modulator._triggerEnvelopeAttack(t),this},t.FMSynth.prototype._triggerEnvelopeRelease=function(t){return t=this.toSeconds(t),this._carrier._triggerEnvelopeRelease(t),this._modulator._triggerEnvelopeRelease(t),this},t.FMSynth.prototype.dispose=function(){return t.Monophonic.prototype.dispose.call(this),this._writable([\"frequency\",\"harmonicity\",\"modulationIndex\",\"oscillator\",\"envelope\",\"modulation\",\"modulationEnvelope\",\"detune\"]),this._carrier.dispose(),this._carrier=null,this._modulator.dispose(),this._modulator=null,this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this.modulationIndex.dispose(),this.modulationIndex=null,this.harmonicity.dispose(),this.harmonicity=null,this._modulationNode.dispose(),this._modulationNode=null,this.oscillator=null,this.envelope=null,this.modulationEnvelope=null,this.modulation=null,this},t.FMSynth}),t(function(t){return t.MembraneSynth=function(e){e=t.defaultArg(e,t.MembraneSynth.defaults),t.Instrument.call(this,e),this.oscillator=new t.OmniOscillator(e.oscillator),this.envelope=new t.AmplitudeEnvelope(e.envelope),this.octaves=e.octaves,this.pitchDecay=e.pitchDecay,this.oscillator.chain(this.envelope,this.output),this._readOnly([\"oscillator\",\"envelope\"])},t.extend(t.MembraneSynth,t.Instrument),t.MembraneSynth.defaults={pitchDecay:.05,octaves:10,oscillator:{type:\"sine\"},envelope:{attack:.001,decay:.4,sustain:.01,release:1.4,attackCurve:\"exponential\"}},t.MembraneSynth.prototype.triggerAttack=function(t,e,i){e=this.toSeconds(e),t=this.toFrequency(t);var n=t*this.octaves;return this.oscillator.frequency.setValueAtTime(n,e),this.oscillator.frequency.exponentialRampToValueAtTime(t,e+this.toSeconds(this.pitchDecay)),this.envelope.triggerAttack(e,i),this.oscillator.start(e),this},t.MembraneSynth.prototype.triggerRelease=function(t){return t=this.toSeconds(t),this.envelope.triggerRelease(t),this.oscillator.stop(t+this.envelope.release),this},t.MembraneSynth.prototype.dispose=function(){return t.Instrument.prototype.dispose.call(this),this._writable([\"oscillator\",\"envelope\"]),this.oscillator.dispose(),this.oscillator=null,this.envelope.dispose(),this.envelope=null,this},t.MembraneSynth}),t(function(t){var e=[1,1.483,1.932,2.546,2.63,3.897];return t.MetalSynth=function(i){i=t.defaultArg(i,t.MetalSynth.defaults),t.Instrument.call(this,i),this.frequency=new t.Signal(i.frequency,t.Type.Frequency),this._oscillators=[],this._freqMultipliers=[],this._amplitue=new t.Gain(0).connect(this.output),this._highpass=new t.Filter({type:\"highpass\",Q:-3.0102999566398125}).connect(this._amplitue),this._octaves=i.octaves,this._filterFreqScaler=new t.Scale(i.resonance,7e3),this.envelope=new t.Envelope({attack:i.envelope.attack,attackCurve:\"linear\",decay:i.envelope.decay,sustain:0,release:i.envelope.release}).chain(this._filterFreqScaler,this._highpass.frequency),this.envelope.connect(this._amplitue.gain);for(var n=0;ne&&(o.voice.triggerRelease(e),o.release=e)}return this},t.PolySynth.prototype.sync=function(){return this._syncMethod(\"triggerAttack\",1),this._syncMethod(\"triggerRelease\",1),this},t.PolySynth.prototype.set=function(t,e,i){for(var n=0;nt&&(i.release=t,i.voice.triggerRelease(t))}return this},t.PolySynth.prototype.dispose=function(){t.Instrument.prototype.dispose.call(this);for(var e=0;e0)n=i[0];else if(!n&&t.isDefined(e))throw new Error(\"Tone.UserMedia: no matching device: \"+e);this._device=n;var s={audio:{echoCancellation:!1,sampleRate:this.context.sampleRate}};return n&&(s.audio.deviceId=n.deviceId),navigator.mediaDevices.getUserMedia(s).then(function(t){return this._stream||(this._stream=t,this._mediaStream=this.context.createMediaStreamSource(t),this._mediaStream.connect(this.output)),this}.bind(this))}.bind(this))},t.UserMedia.prototype.close=function(){return this._stream&&(this._stream.getAudioTracks().forEach(function(t){t.stop()}),this._stream=null,this._mediaStream.disconnect(),this._mediaStream=null),this._device=null,this},t.UserMedia.enumerateDevices=function(){return navigator.mediaDevices.enumerateDevices().then(function(t){return t.filter(function(t){return\"audioinput\"===t.kind})})},Object.defineProperty(t.UserMedia.prototype,\"state\",{get:function(){return this._stream&&this._stream.active?t.State.Started:t.State.Stopped}}),Object.defineProperty(t.UserMedia.prototype,\"deviceId\",{get:function(){if(this._device)return this._device.deviceId}}),Object.defineProperty(t.UserMedia.prototype,\"groupId\",{get:function(){if(this._device)return this._device.groupId}}),Object.defineProperty(t.UserMedia.prototype,\"label\",{get:function(){if(this._device)return this._device.label}}),Object.defineProperty(t.UserMedia.prototype,\"mute\",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),t.UserMedia.prototype.dispose=function(){return t.AudioNode.prototype.dispose.call(this),this.close(),this._writable(\"volume\"),this._volume.dispose(),this._volume=null,this.volume=null,this},Object.defineProperty(t.UserMedia,\"supported\",{get:function(){return t.isDefined(navigator.mediaDevices)&&t.isFunction(navigator.mediaDevices.getUserMedia)}}),t.UserMedia}),t(function(t){return t.Midi=function(e,i){if(!(this instanceof t.Midi))return new t.Midi(e,i);t.Frequency.call(this,e,i)},t.extend(t.Midi,t.Frequency),t.Midi.prototype._defaultUnits=\"midi\",t.Midi.prototype._frequencyToUnits=function(e){return t.Frequency.ftom(t.Frequency.prototype._frequencyToUnits.call(this,e))},t.Midi.prototype._ticksToUnits=function(e){return t.Frequency.ftom(t.Frequency.prototype._ticksToUnits.call(this,e))},t.Midi.prototype._beatsToUnits=function(e){return t.Frequency.ftom(t.Frequency.prototype._beatsToUnits.call(this,e))},t.Midi.prototype._secondsToUnits=function(e){return t.Frequency.ftom(t.Frequency.prototype._secondsToUnits.call(this,e))},t.Midi.prototype.toMidi=function(){return this.valueOf()},t.Midi.prototype.toFrequency=function(){return t.Frequency.mtof(this.toMidi())},t.Midi.prototype.transpose=function(t){return new this.constructor(this.toMidi()+t)},t.Midi}),e})},function(t,e,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function s(t){return t[Math.floor(Math.random()*t.length)]}function o(t,e){return t-e*Math.floor(t/e)}function r(t){if(_){var e=document.createElement(\"div\"),i=document.createElement(\"div\");i.innerHTML=\"Tap to start - please unmute your phone\",Object.assign(e.style,{position:\"absolute\",width:\"100%\",height:\"100%\",zIndex:\"10000\",top:\"0px\",left:\"0px\",backgroundColor:\"rgba(0, 0, 0, 0.8)\"}),Object.assign(i.style,{position:\"absolute\",left:\"50%\",top:\"50%\",padding:\"20px\",backgroundColor:\"#7F33ED\",color:\"white\",fontFamily:\"monospace\",borderRadius:\"3px\",transform:\"translate3D(-50%,-50%,0)\",textAlign:\"center\",lineHeight:\"1.5\"}),e.appendChild(i),document.body.appendChild(e),d.default.setContext(p.default.context),d.default.on(i),d.default.onStarted(function(i){e.remove(),t()})}else t()}function a(t){for(var e=atob(t.split(\",\")[1]),i=t.split(\",\")[0].split(\":\")[1].split(\";\")[0],n=new ArrayBuffer(e.length),s=new Uint8Array(n),o=0;o0&&(i=0),\"8t\"===this.duration&&o==this.pitch.length-1){var r=v.numberFromBytes(u.HEADER_CHUNK_DIVISION);e=r-2*e}n=new d({data:v.numberToVariableLength(i).concat([this.getNoteOnStatus(),v.getPitch(t),this.velocity])}),s=new f({data:v.numberToVariableLength(e).concat([this.getNoteOffStatus(),v.getPitch(t),this.velocity])}),this.data=this.data.concat(n.data,s.data)},this);else for(var o=0;o100?100:t,Math.round(t/100*127)}},{key:\"getTickDuration\",value:function(t,e){if(Array.isArray(t))return t.map(function(t){return this.getTickDuration(t,e)},this).reduce(function(t,e){return t+e},0);if(t=t.toString(),\"t\"===t.toLowerCase().charAt(0))return parseInt(t.substring(1));var i=v.numberFromBytes(u.HEADER_CHUNK_DIVISION);return Math.round(i*this.getDurationMultiplier(t,e))}},{key:\"getDurationMultiplier\",value:function(t,e){switch(t){case\"0\":return 0;case\"1\":return 4;case\"2\":return 2;case\"d2\":return 3;case\"4\":return 1;case\"4t\":return.666;case\"d4\":return 1.5;case\"8\":return.5;case\"8t\":return.33;case\"d8\":return.75;case\"16\":return.25;case\"16t\":return.166;case\"32\":return.125;case\"64\":return.0625}throw t+\" is not a valid duration.\"}},{key:\"getNoteOnStatus\",value:function(){return 144+this.channel-1}},{key:\"getNoteOffStatus\",value:function(){return 128+this.channel-1}}]),t}();e.NoteEvent=p;var f=function t(e){s(this,t),this.data=e.data};e.NoteOffEvent=f;var d=function t(e){s(this,t),this.data=e.data};e.NoteOnEvent=d;var y=function t(e){s(this,t),this.type=\"program\",this.data=v.numberToVariableLength(0).concat(u.PROGRAM_CHANGE_STATUS,e.instrument)};e.ProgramChangeEvent=y;var m=function(){function t(){s(this,t),this.type=u.TRACK_CHUNK_TYPE,this.data=[],this.size=[],this.events=[]}return r(t,[{key:\"addEvent\",value:function(t,e){return Array.isArray(t)?t.forEach(function(t,i){if(\"function\"==typeof e&&\"note\"===t.type){var n=e(i,t);if(\"object\"===(void 0===n?\"undefined\":o(n))){for(var s in n)switch(s){case\"duration\":t.duration=n[s];break;case\"sequential\":t.sequential=n[s];break;case\"velocity\":t.velocity=t.convertVelocity(n[s])}t.buildData()}}this.data=this.data.concat(t.data),this.size=v.numberToBytes(this.data.length,4),this.events.push(t)},this):(this.data=this.data.concat(t.data),this.size=v.numberToBytes(this.data.length,4),this.events.push(t)),this}},{key:\"setTempo\",value:function(t){var e=new c({data:[u.META_TEMPO_ID]});e.data.push(3);var i=Math.round(6e7/t);return e.data=e.data.concat(v.numberToBytes(i,3)),this.addEvent(e)}},{key:\"setTimeSignature\",value:function(t,e,i,n){i=i||24,n=n||8;var s=new c({data:[u.META_TIME_SIGNATURE_ID]});s.data.push(4),s.data=s.data.concat(v.numberToBytes(t,1));var o=Math.log2(e);return s.data=s.data.concat(v.numberToBytes(o,1)),s.data=s.data.concat(v.numberToBytes(i,1)),s.data=s.data.concat(v.numberToBytes(n,1)),this.addEvent(s)}},{key:\"setKeySignature\",value:function(t,e){var i=new c({data:[u.META_KEY_SIGNATURE_ID]});i.data.push(2);var n=e||0;if(t=t||0,void 0===e){var s=[[\"Cb\",\"Gb\",\"Db\",\"Ab\",\"Eb\",\"Bb\",\"F\",\"C\",\"G\",\"D\",\"A\",\"E\",\"B\",\"F#\",\"C#\"],[\"ab\",\"eb\",\"bb\",\"f\",\"c\",\"g\",\"d\",\"a\",\"e\",\"b\",\"f#\",\"c#\",\"g#\",\"d#\",\"a#\"]],o=t.length,r=t||\"C\";if(t[0]===t[0].toLowerCase()&&(n=1),o>1)switch(t.charAt(o-1)){case\"m\":case\"-\":n=1,r=t.charAt(0).toLowerCase(),r=r.concat(t.substring(1,o-1));break;case\"M\":case\"+\":n=0,r=t.charAt(0).toUpperCase(),r=r.concat(t.substring(1,o-1))}var a=s[n].indexOf(r);t=-1===a?0:a-7}return i.data=i.data.concat(v.numberToBytes(t,1)),i.data=i.data.concat(v.numberToBytes(n,1)),this.addEvent(i)}},{key:\"addText\",value:function(t){var e=new c({data:[u.META_TEXT_ID]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"addCopyright\",value:function(t){var e=new c({data:[u.META_COPYRIGHT_ID]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"addTrackName\",value:function(t){var e=new c({data:[u.META_TRACK_NAME_ID]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"addInstrumentName\",value:function(t){var e=new c({data:[u.META_INSTRUMENT_NAME_ID]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"addMarker\",value:function(t){var e=new c({data:[u.META_MARKER_ID]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"addCuePoint\",value:function(t){var e=new c({data:[u.META_CUE_POINT]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"addLyric\",value:function(t){var e=new c({data:[u.META_LYRIC_ID]}),i=v.stringToBytes(t);return e.data=e.data.concat(v.numberToVariableLength(i.length)),e.data=e.data.concat(i),this.addEvent(e)}},{key:\"polyModeOn\",value:function(){var t=new d({data:[0,176,126,0]});return this.addEvent(t)}}]),t}();e.Track=m;var v=function(){function t(){s(this,t)}return r(t,null,[{key:\"version\",value:function(){return u.VERSION}},{key:\"stringToBytes\",value:function(t){return t.split(\"\").map(function(t){return t.charCodeAt()})}},{key:\"isNumeric\",value:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}},{key:\"getPitch\",value:function(t){return(0,a.toMidi)(t)}},{key:\"numberToVariableLength\",value:function(t){for(var e=127&t;t>>=7;)e<<=8,e|=127&t|128;for(var i=[];;){if(i.push(255&e),!(128&e))break;e>>=8}return i}},{key:\"stringByteCount\",value:function(t){return encodeURI(t).split(/%..|./).length-1}},{key:\"numberFromBytes\",value:function(t){var e,i=\"\";return t.forEach(function(t){e=t.toString(16),1==e.length&&(e=\"0\"+e),i+=e}),parseInt(i,16)}},{key:\"numberToBytes\",value:function(t,e){e=e||1;var i=t.toString(16);1&i.length&&(i=\"0\"+i);var n=i.match(/.{2}/g);if(n=n.map(function(t){return parseInt(t,16)}),n.length0;)n.unshift(0);return n}},{key:\"toArray\",value:function(t){return Array.isArray(t)?t:[t]}}]),t}();e.Utils=v;var _=function(){function t(){s(this,t)}return r(t,[{key:\"trackFromVoice\",value:function(t){var e,i=new m,n=[];return t.tickables.forEach(function(t){if(n=[],\"n\"===t.noteType)t.keys.forEach(function(t){n.push(this.convertPitch(t))});else if(\"r\"===t.noteType)return void(e=this.convertDuration(t));i.addEvent(new p({pitch:n,duration:this.convertDuration(t),wait:e})),e=0}),i}},{key:\"convertPitch\",value:function(t){return t.replace(\"/\",\"\")}},{key:\"convertDuration\",value:function(t){switch(t.duration){case\"w\":return\"1\";case\"h\":return t.isDotted()?\"d2\":\"2\";case\"q\":return t.isDotted()?\"d4\":\"4\";case\"8\":return t.isDotted()?\"d8\":\"8\"}return t.duration}}]),t}();e.VexFlow=_;var g=function(){function e(t){s(this,e),this.data=[];var i=t.length>1?u.HEADER_CHUNK_FORMAT1:u.HEADER_CHUNK_FORMAT0,n=v.numberToBytes(t.length,2);this.data.push(new h({type:u.HEADER_CHUNK_TYPE,data:i.concat(n,u.HEADER_CHUNK_DIVISION)})),t.forEach(function(t,e){t.addEvent(new c({data:u.META_END_OF_TRACK_ID})),this.data.push(t)},this)}return r(e,[{key:\"buildFile\",value:function(){var t=[];return this.data.forEach(function(e){return t=t.concat(e.type,e.size,e.data)}),new Uint8Array(t)}},{key:\"base64\",value:function(){return\"function\"==typeof btoa?btoa(String.fromCharCode.apply(null,this.buildFile())):new t(this.buildFile()).toString(\"base64\")}},{key:\"dataUri\",value:function(){return\"data:audio/midi;base64,\"+this.base64()}},{key:\"stdout\",value:function(){return n.stdout.write(new t(this.buildFile()))}},{key:\"saveMIDI\",value:function(e){var i=new t(this.buildFile());fs.writeFile(e+\".mid\",i,function(t){if(t)return console.log(t)})}}]),e}();e.Writer=g}).call(e,i(14).Buffer,i(18))},function(t,e,i){!function(e,i){t.exports=i()}(0,function(){return function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={exports:{},id:n,loaded:!1};return t[n].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i={};return e.m=t,e.c=i,e.p=\"\",e(0)}([function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t}(i(1));t.exports=n},function(t,e,i){\"use strict\";function n(){return T.colors}function s(){return T.context}function o(){return T.clock}var r=function(t){return t&&t.__esModule?t.default:t},a=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")};e.colors=n,e.context=s,e.clock=o,Object.defineProperty(e,\"__esModule\",{value:!0});var u=r(i(2)),l=r(i(5)),c=r(i(38)),p=r(i(40)),f=function(t){return t&&t.__esModule?t:{default:t}}(i(39)),d=i(28),y=i(41),m=i(27),v=i(26),_=i(25),g=r(i(42)),b=r(i(45)),w=function(){function t(e){h(this,t);for(var i in u)this[i]=u[i];for(var i in l)this[i]=l[i];var n={Rack:c},s={Counter:d,Radio:y,Drunk:m,Sequence:v,Matrix:_};for(var i in s)this[i]=s[i];for(var i in n)this[i]=n[i];var o=window.AudioContext||window.webkitAudioContext;this._context=e||new o,this.tune=new p,this.note=this.tune.note.bind(this.tune),this.clock=new g(this._context),this.clock.start(),this.Interval=b,this.colors={accent:\"#2bb\",fill:\"#eee\",light:\"#fff\",dark:\"#333\",mediumLight:\"#ccc\",mediumDark:\"#666\"},this.transform=f,this.add=f.add,this.Add={};for(var i in u)this.Add[i]=f.add.bind(this,i);var r=document.getElementsByTagName(\"style\"),a=document.createElement(\"style\");if(a.type=\"text/css\",a.innerHTML=\"[nexus-ui]{height:5000px;width:5000px}\",r.length>0){r[0].parentNode.insertBefore(a,r[0])}else document.write(\"\")}return a(t,{context:{get:function(){return this._context},set:function(t){this.clock.stop(),this._context=t,this.clock=new g(this.context),this.clock.start()}}}),t}(),T=new w;e.default=T},function(t,e,i){\"use strict\";t.exports={Position:i(3),Slider:i(14),Toggle:i(15),Button:i(16),TextButton:i(18),RadioButton:i(19),Number:i(20),Select:i(21),Dial:i(22),Piano:i(23),Sequencer:i(24),Pan2D:i(29),Tilt:i(30),Multislider:i(31),Pan:i(33),Envelope:i(34),Spectrogram:i(35),Meter:i(36),Oscilloscope:i(37)}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),u=i(11),l=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){r(this,e);var t=[\"value\"],i={size:[200,200],mode:\"absolute\",minX:0,maxX:1,stepX:0,x:.5,minY:0,maxY:1,stepY:0,y:.5};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._x=new u(this.settings.minX,this.settings.maxX,this.settings.stepX,this.settings.x),this._y=new u(this.settings.minY,this.settings.maxY,this.settings.stepY,this.settings.y),this.position={x:new l.Handle(this.settings.mode,\"horizontal\",[0,this.width],[this.height,0]),y:new l.Handle(this.settings.mode,\"vertical\",[0,this.width],[this.height,0])},this.position.x.value=this._x.normalized,this.position.y.value=this._y.normalized,this.init(),this.render()}return o(e,t),n(e,{buildInterface:{value:function(){this.knob=a.create(\"circle\"),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.position.x.resize([0,this.width],[this.height,0]),this.position.y.resize([0,this.width],[this.height,0]),this._minDimension=Math.min(this.width,this.height),this.knobRadius={off:5*~~(this._minDimension/100)+5},this.knobRadius.on=2*this.knobRadius.off,this.knob.setAttribute(\"cx\",this.width/2),this.knob.setAttribute(\"cy\",this.height/2),this.knob.setAttribute(\"r\",this.knobRadius.off)}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.knob.setAttribute(\"fill\",this.colors.accent)}},render:{value:function(){this.clicked?this.knob.setAttribute(\"r\",this.knobRadius.on):this.knob.setAttribute(\"r\",this.knobRadius.off),this.knobCoordinates={x:this._x.normalized*this.width,y:this.height-this._y.normalized*this.height},this.knob.setAttribute(\"cx\",this.knobCoordinates.x),this.knob.setAttribute(\"cy\",this.knobCoordinates.y)}},click:{value:function(){this.position.x.anchor=this.mouse,this.position.y.anchor=this.mouse,this.move()}},move:{value:function(){this.clicked&&(this.position.x.update(this.mouse),this.position.y.update(this.mouse),this._x.updateNormal(this.position.x.value),this._y.updateNormal(this.position.y.value),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render())}},release:{value:function(){this.render()}},x:{get:function(){return this._x.value},set:function(t){this._x.update(t),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render()}},y:{get:function(){return this._y.value},set:function(t){this._y.update(t),this.emit(\"change\",{x:this._x.value,y:this._y.value}),this.render()}},normalized:{get:function(){return{x:this._x.normalized,y:this._y.normalized}}},minX:{get:function(){return this._x.min},set:function(t){this._x.min=t,this.render()}},minY:{get:function(){return this._y.min},set:function(t){this._y.min=t,this.render()}},maxX:{get:function(){return this._x.max},set:function(t){this._x.max=t,this.render()}},maxY:{get:function(){return this._y.max},set:function(t){this._y.max=t,this.render()}},stepX:{get:function(){return this._x.step},set:function(t){this._x.step=t,this.render()}},stepY:{get:function(){return this._y.step},set:function(t){this._y.step=t,this.render()}},mode:{get:function(){return this.position.x.mode},set:function(t){this.position.x.mode=t,this.position.y.mode=t}}}),e}(h);t.exports=c},function(t,e,i){\"use strict\";var n=i(5);t.exports={create:function(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)},arc:function(t,e,i,s,o){var r=n.toCartesian(i,o),a=n.toCartesian(i,s),h=o-s<=180?\"0\":\"1\";return[\"M\",r.x+t,r.y+e,\"A\",i,i,0,h,0,a.x+t,a.y+e].join(\" \")},radialGradient:function(t,e){var i=\"gradient\"+n.ri(1e11),s=[],o=document.createElementNS(\"http://www.w3.org/2000/svg\",\"radialGradient\");o.setAttribute(\"id\",i),o.setAttribute(\"cx\",\"50%\"),o.setAttribute(\"cy\",\"50%\"),o.setAttribute(\"r\",\"50%\"),t.appendChild(o);for(var r=0;r=i&&(t=e),t},e.average=function(t){for(var e=0,i=0;i=1){var s=e.splice(0,1)[0];n[s]=r}}return this.parent=h.parseElement(n.target),this.parent&&this.parent instanceof HTMLElement&&!n.component&&(this.parent.hasAttribute(\"nexus-ui\")||this.parent.setAttribute(\"nexus-ui\",\"\")),n.size&&Array.isArray(n.size)&&n.snapWithParent?(this.width=n.size[0],this.height=n.size[1],this.parent.style.width=this.width+\"px\",this.parent.style.height=this.height+\"px\"):n.snapWithParent&&!n.component?(this.width=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.height=parseFloat(window.getComputedStyle(this.parent,null).getPropertyValue(\"height\").replace(\"px\",\"\")),5e3==this.width&&(this.width=n.defaultSize[0],this.parent.style.width=this.parent.width=this.width+\"px\"),5e3==this.height&&(this.height=n.defaultSize[1],this.parent.style.height=this.parent.height=this.height+\"px\")):(n.size=n.defaultSize,this.width=n.size[0],this.height=n.size[1]),n.event?this.event=this.on(\"change\",n.event):this.event=!1,n}},init:{value:function(){this.buildFrame(),this.buildInterface(),this.sizeInterface(),this.attachListeners(),this.colorInterface(),this.finalTouches()}},buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){}},sizeInterface:{value:function(){}},colorInterface:{value:function(){}},attachListeners:{value:function(){var t=this;this.interactionTarget=this.interactionTarget||this.element,l.exists&&(this.interactionTarget.addEventListener(\"touchstart\",function(e){return t.preTouch(e)}),this.interactionTarget.addEventListener(\"touchmove\",function(e){return t.preTouchMove(e)}),this.interactionTarget.addEventListener(\"touchend\",function(e){return t.preTouchRelease(e)})),this.boundPreMove=function(e){return t.preMove(e)},this.boundPreRelease=function(e){return t.preRelease(e)},this.interactionTarget.addEventListener(\"mousedown\",function(e){return t.preClick(e)})}},finalTouches:{value:function(){this.element.style.cursor=\"pointer\"}},preClick:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.offset=h.findPosition(this.element),this.mouse=h.locateMouse(t,this.offset),this.clicked=!0,this.click(),this.moveEvent=document.addEventListener(\"mousemove\",this.boundPreMove),this.releaseEvent=document.addEventListener(\"mouseup\",this.boundPreRelease),this.emit(\"click\"),t.preventDefault(),t.stopPropagation()}},preMove:{value:function(t){var e=this;this.wait||(this.mouse=h.locateMouse(t,this.offset),this.move(),this.wait=!0,setTimeout(function(){e.wait=!1},25)),t.preventDefault(),t.stopPropagation()}},preRelease:{value:function(t){this.mouse=h.locateMouse(t,this.offset),this.clicked=!1,this.release(),this.emit(\"release\"),document.removeEventListener(\"mousemove\",this.boundPreMove),document.removeEventListener(\"mouseup\",this.boundPreRelease),t.preventDefault(),t.stopPropagation()}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},preTouch:{value:function(t){this.element instanceof HTMLElement&&(this.width=window.getComputedStyle(this.element,null).getPropertyValue(\"width\").replace(\"px\",\"\")),this.offset=h.findPosition(this.element),this.mouse=h.locateTouch(t,this.offset),this.clicked=!0,this.touch(t),this.emit(\"click\"),t.preventDefault(),t.stopPropagation()}},preTouchMove:{value:function(t){this.clicked&&(this.mouse=h.locateTouch(t,this.offset),this.touchMove(),t.preventDefault(),t.stopPropagation())}},preTouchRelease:{value:function(t){this.mouse=h.locateTouch(t,this.offset),this.clicked=!1,this.touchRelease(),this.emit(\"release\"),t.preventDefault(),t.stopPropagation()}},touch:{value:function(){this.click()}},touchMove:{value:function(){this.move()}},touchRelease:{value:function(){this.release()}},resize:{value:function(t,e){this.width=t,this.height=e,this.parent.style.width=this.width+\"px\",this.parent.style.height=this.height+\"px\",this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.sizeInterface()}},empty:{value:function(){for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild)}},destroy:{value:function(){this.empty(),this.parent.removeChild(this.element),this.removeAllListeners(),this.instrument&&delete this.instrument[this.id],this.customDestroy()}},customDestroy:{value:function(){}},colorize:{value:function(t,e){this.colors[t]=e,this.colorInterface()}}}),e}(c);t.exports=f},function(t,e){\"use strict\";e.findPosition=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}},e.parseElement=function(t){return\"string\"==typeof t&&(t=document.getElementById(t.replace(\"#\",\"\"))),t instanceof HTMLElement||t instanceof SVGElement?t:\"No valid parent argument\"},e.locateMouse=function(t,e){return{x:t.pageX-e.left,y:t.pageY-e.top}},e.locateTouch=function(t,e){return{x:!!t.targetTouches.length&&t.targetTouches[0].pageX-e.left,y:!!t.targetTouches.length&&t.targetTouches[0].pageY-e.top}},e.SmartCanvas=function(t){var e=this;this.element=document.createElement(\"canvas\"),this.context=this.element.getContext(\"2d\"),t.appendChild(this.element),this.resize=function(t,i){e.element.width=2*t,e.element.height=2*i,e.element.style.width=t+\"px\",e.element.style.height=i+\"px\"}}},function(t,e){\"use strict\";e.isObject=function(t){return\"object\"==typeof t&&!Array.isArray(t)&&null!==t&&t instanceof SVGElement==!1&&t instanceof HTMLElement==!1}},function(t,e){\"use strict\";e.exists=\"ontouchstart\"in document.documentElement},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return\"function\"==typeof t}function s(t){return\"number\"==typeof t}function o(t){return\"object\"==typeof t&&null!==t}function r(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!s(t)||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,s,a,h,u;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var l=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw l.context=e,l}if(i=this._events[t],r(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(o(i))for(a=Array.prototype.slice.call(arguments,1),u=i.slice(),s=u.length,h=0;h0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[t].length),\"function\"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),s||(s=!0,e.apply(this,arguments))}if(!n(e))throw TypeError(\"listener must be a function\");var s=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,s,r,a;if(!n(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(i=this._events[t],r=i.length,s=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(o(i)){for(a=r;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){s=a;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(s,1),this._events.removeListener&&this.emit(\"removeListener\",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\"removeListener\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},o=i(5),r=function(){function t(){var e=void 0===arguments[0]?0:arguments[0],i=void 0===arguments[1]?1:arguments[1],n=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3];s(this,t),this.min=e,this.max=i,this.step=n,this.value=o,this.changed=!1,this.oldValue=!1,this.update(this.value)}return n(t,{update:{value:function(t){return this.step?this.value=o.clip(Math.round((t-this.min)/this.step)*this.step+this.min,this.min,this.max):this.value=o.clip(t,this.min,this.max),this.oldValue!==this.value?(this.oldValue=this.value,this.changed=!0):this.changed=!1,this.value}},updateNormal:{value:function(t){return this.value=o.scale(t,0,1,this.min,this.max),this.update(this.value)}},normalized:{get:function(){return o.normalize(this.value,this.min,this.max)}}}),t}();t.exports=r},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")};Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(i(5)),a=n(i(13));e.Handle=function(){function t(){var e=void 0===arguments[0]?\"absolute\":arguments[0],i=void 0===arguments[1]?\"vertical\":arguments[1],n=void 0===arguments[2]?[0,100]:arguments[2],s=void 0===arguments[3]?[0,100]:arguments[3];o(this,t),this.mode=e,this.direction=i,this.previous=0,this.value=0,this.sensitivity=1,this.resize(n,s)}return s(t,{resize:{value:function(t,e){this.boundary={min:{x:t[0],y:e[0]},max:{x:t[1],y:e[1]},center:{x:(t[1]-t[0])/2+t[0],y:(e[1]-e[0])/2+e[0]}}}},anchor:{set:function(t){this._anchor=this.convertPositionToValue(t)},get:function(){return this._anchor}},update:{value:function(t){if(\"relative\"===this.mode){var e=this.convertPositionToValue(t)-this.anchor;Math.abs(e)>.5&&(e=0),this.anchor=t,this.value=this.value+e*this.sensitivity}else this.value=this.convertPositionToValue(t);this.value=r.clip(this.value,0,1)}},convertPositionToValue:{value:function(t){switch(this.direction){case\"radial\":var e=r.toPolar(t.x-this.boundary.center.x,t.y-this.boundary.center.y);return e=e.angle/(2*Math.PI),e=(e-.25+1)%1;case\"vertical\":return r.scale(t.y,this.boundary.min.y,this.boundary.max.y,0,1);case\"horizontal\":return r.scale(t.x,this.boundary.min.x,this.boundary.max.x,0,1)}}}}),t}(),e.Button=function(){function t(){var e=void 0===arguments[0]?\"button\":arguments[0];o(this,t),this.mode=e,this.state=new a,this.paintbrush=!1}return s(t,{click:{value:function(){switch(this.mode){case\"impulse\":this.state.on(),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.state.off.bind(this),30),this.emit(\"change\",this.state);break;case\"button\":this.turnOn(),this.emit(\"change\",this.state);break;case\"aftertouch\":this.position={x:r.clip(this.mouse.x/this.width,0,1),y:r.clip(1-this.mouse.y/this.height,0,1)},this.turnOn(),this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y});break;case\"toggle\":this.flip(),this.emit(\"change\",this.state)}}},move:{value:function(){\"aftertouch\"===this.mode&&(this.position={x:r.clip(this.mouse.x/this.width,0,1),y:r.clip(1-this.mouse.y/this.height,0,1)},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y}),this.render())}},release:{value:function(){switch(this.mode){case\"button\":this.turnOff(),this.emit(\"change\",this.state);break;case\"aftertouch\":this.turnOff(),this.position={x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this.emit(\"change\",{state:this.state,x:this.position.x,y:this.position.y})}}}}),t}()},function(t,e){\"use strict\";var i=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),n=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},s=function(){function t(e){n(this,t),this.state=e||!1}return i(t,{flip:{value:function(t){this.state=t||!1===t?t:!this.state}},on:{value:function(){this.state=!0}},off:{value:function(){this.state=!1}}}),t}();t.exports=s},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),u=i(11),l=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(){r(this,e);var t=[\"min\",\"max\",\"value\"],i={size:[120,20],mode:\"relative\",min:0,max:1,step:0,value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.orientation=\"vertical\",this._value=new u(this.settings.min,this.settings.max,this.settings.step,this.settings.value),this.position=new l.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.init(),this.position.direction=this.orientation,this.emit(\"change\",this.value)}return o(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.fillbar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob)}},sizeInterface:{value:function(){this.width=0&&t57)&&189!==t.which&&190!==t.which&&8!==t.which&&t.preventDefault(),13===t.which&&(this.element.blur(),this.value=this.element.value,this.emit(\"change\",this.value),this.render())}.bind(this)),this.parent.appendChild(this.element)}},sizeInterface:{value:function(){this._minDimension=Math.min(this.width,this.height);var t=\"width: \"+this.width+\"px;\";t+=\"height: \"+this.height+\"px;\",t+=\"background-color: #e7e7e7;\",t+=\"color: #333;\",t+=\"font-family: arial;\",t+=\"font-weight: 500;\",t+=\"font-size:\"+this._minDimension/2+\"px;\",t+=\"border: none;\",t+=\"outline: none;\",t+=\"padding: \"+this._minDimension/4+\"px \"+this._minDimension/4+\"px;\",t+=\"box-sizing: border-box;\",t+=\"userSelect: text;\",t+=\"mozUserSelect: text;\",t+=\"webkitUserSelect: text;\",this.element.style.cssText+=t,this.element.value=this.value}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark}},render:{value:function(){this.element.value=u.prune(this.value,this.decimalPlaces)}},click:{value:function(){this.hasMoved=!1,this.element.readOnly=!0,this.actual=this.value,this.initial={y:this.mouse.y},this.changeFactor=u.invert(this.mouse.x/this.width),console.log(this.changeFactor)}},move:{value:function(){if(this.hasMoved=!0,this.clicked){var t=this.actual-(this.mouse.y-this.initial.y)*(u.clip(this.max-this.min,0,1e3)/200)*Math.pow(this.changeFactor,2);this.value=t,this.render(),this._value.changed&&this.emit(\"change\",this.value)}}},release:{value:function(){this.hasMoved?document.body.focus():(this.element.readOnly=!1,this.element.focus(),this.element.setSelectionRange(0,this.element.value.length),this.element.style.backgroundColor=this.colors.accent,this.element.style.color=this.colors.light)}},link:{value:function(t){var e=this;this.min=t.min,this.max=t.max,this.step=t.step,t.on(\"change\",function(t){e.passiveUpdate(t)}),this.on(\"change\",function(e){t.value=e}),this.value=t.value}},passiveUpdate:{value:function(t){this._value.update(t),this.render()}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.emit(\"change\",this.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}}}),e}(a);t.exports=l},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(6),h=function(t){function e(){r(this,e);var t=[\"value\"],i={size:[100,30],options:[\"default\",\"options\"]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this._selectedIndex=-1,this._value=!1,this._options=this.settings.options,this.init(),this.render()}return o(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"select\"),this.element.style.fontSize=this.height/2+\"px\",this.element.style.outline=\"none\",this.element.style.highlight=\"none\",this.element.style.width=this.width+\"px\",this.element.style.height=this.height+\"px\",this.boundRender=this.render.bind(this),this.element.addEventListener(\"change\",this.boundRender),this.parent.appendChild(this.element)}},attachListeners:{value:function(){}},buildInterface:{value:function(){this.defineOptions()}},colorInterface:{value:function(){this.element.style.backgroundColor=this.colors.fill,this.element.style.color=this.colors.dark,this.element.style.border=\"solid 0px \"+this.colors.mediumLight}},render:{value:function(){this._value=this.element.options[this.element.selectedIndex].text,this._selectedIndex=this.element.selectedIndex,this.emit(\"change\",{value:this._value,index:this._selectedIndex})}},click:{value:function(){}},move:{value:function(){}},release:{value:function(){}},defineOptions:{value:function(t){t&&(this._options=t);for(var e=this.element.options.length-1;e>=0;e--)this.element.remove(e);for(var e=0;e2&&(t=this.previousAngle>3?2*Math.PI:0),this.previousAngle=t;var e=t/(2*Math.PI);this.value=this._value.updateNormal(e),\"relative\"===this.mode&&(this.position.value=e),this.emit(\"change\",this._value.value),this.render()}}},release:{value:function(){}},value:{get:function(){return this._value.value},set:function(t){this._value.update(t),this.position.value=this._value.normalized,this.emit(\"change\",this._value.value),this.render()}},min:{get:function(){return this._value.min},set:function(t){this._value.min=t}},max:{get:function(){return this._value.max},set:function(t){this._value.max=t}},step:{get:function(){return this._value.step},set:function(t){this._value.step=t}},mode:{get:function(){return this.position.mode},set:function(t){this.position.mode=t}},normalized:{get:function(){return this._value.normalized},set:function(t){this._value.updateNormal(t),this.emit(\"change\",this.value)}}}),e}(u);t.exports=p},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),u=i(17),l=i(9),c=function(t){function e(){r(this,e);var t=[\"value\",\"note\",\"color\"],i={size:[80,80],target:!1,mode:\"button\",value:0};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.note=this.settings.note,this.color=this.settings.color,this.colors={w:\"#fff\",b:\"#666\"},this.init(),this.render()}return o(e,t),n(e,{buildFrame:{value:function(){this.element=a.create(\"svg\"),this.element.setAttribute(\"width\",this.width),this.element.setAttribute(\"height\",this.height),this.parent.appendChild(this.element)}},buildInterface:{value:function(){var t=this;this.pad=a.create(\"rect\"),this.element.appendChild(this.pad),this.interactionTarget=this.pad,l.exists||(this.click=function(){t.piano.interacting=!0,t.piano.paintbrush=!t.state,t.down(t.piano.paintbrush)},this.pad.addEventListener(\"mouseover\",function(){t.piano.interacting&&t.down(t.piano.paintbrush)}),this.move=function(){t.piano.interacting&&t.bend()},this.release=function(){t.piano.interacting=!1},this.pad.addEventListener(\"mouseup\",function(){t.piano.interacting&&t.up()}),this.pad.addEventListener(\"mouseout\",function(){t.piano.interacting&&t.up()}))}},sizeInterface:{value:function(){this.pad.setAttribute(\"x\",.5),this.pad.setAttribute(\"y\",.5),this.width>2?this.pad.setAttribute(\"width\",this.width-1):this.pad.setAttribute(\"width\",this.width),this.height,this.pad.setAttribute(\"height\",this.height),this.pad.setAttribute(\"rx\",0),this.pad.setAttribute(\"ry\",0)}},render:{value:function(){this.state?this.pad.setAttribute(\"fill\",this.colors.accent):this.pad.setAttribute(\"fill\",this.colors[this.color])}}}),e}(u),p=function(t){function e(){r(this,e);var t=[\"value\"],i={size:[500,125],lowNote:24,highNote:60,mode:\"button\"};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.keyPattern=[\"w\",\"b\",\"w\",\"b\",\"w\",\"w\",\"b\",\"w\",\"b\",\"w\",\"b\",\"w\"],this.paintbrush=!1,this.mode=this.settings.mode,this.range={low:this.settings.lowNote,high:this.settings.highNote},this.range.size=this.range.high-this.range.low,this.keys=[],this.toggleTo=!1,this.init(),this.render()}return o(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.element.style.position=\"relative\",this.element.style.borderRadius=\"0px\",this.element.style.display=\"block\",this.element.style.width=\"100%\",this.element.style.height=\"100%\",this.parent.appendChild(this.element)}},buildInterface:{value:function(){this.keys=[];for(var t=0;t=this.range.high?t+=1:\"w\"===this.keyPattern[n]&&\"w\"===this.keyPattern[s]?t+=1:t+=.5}for(var o=t,r=(this.width-2)/o,a=(this.height-2)/2,i=0;i2?this.pad.setAttribute(\"width\",this.width-2):this.pad.setAttribute(\"width\",this.width),this.height>2?this.pad.setAttribute(\"height\",this.height-2):this.pad.setAttribute(\"height\",this.height),this.pad.setAttribute(\"fill\",this.matrix.colors.fill)}},render:{value:function(){this.state?this.pad.setAttribute(\"fill\",this.matrix.colors.accent):this.pad.setAttribute(\"fill\",this.matrix.colors.fill)}}}),e}(l),y=function(t){function e(){r(this,e);var t=[\"value\"],i={size:[400,200],mode:\"toggle\",rows:5,columns:10};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.active=-1,this.mode=this.settings.mode,this.interval=new Nexus.Interval(200,function(){},!1),this.matrix=new c(this.settings.rows,this.settings.columns),this.matrix.ui=this,this.stepper=new p(0,this.columns),this.init()}return o(e,t),n(e,{buildFrame:{value:function(){this.element=document.createElement(\"div\"),this.element.style.position=\"relative\",this.element.style.display=\"block\",this.element.style.width=\"100%\",this.element.style.height=\"100%\",this.parent.appendChild(this.element),f.exists&&this.addTouchListeners()}},buildInterface:{value:function(){this.cells=[];for(var t=0;t0?t.cells[n].turnOn():t.cells[n].turnOff())})}},keyChange:{value:function(t,e){var i=this.matrix.locate(t);this.matrix.pattern[i.row][i.column]=e;var n={row:i.row,column:i.column,state:e};this.emit(\"change\",n)}},render:{value:function(){var t=this;this.stepper.value>=0&&this.matrix.iterate(function(e,i,n){i===t.stepper.value?(t.cells[n].pad.setAttribute(\"stroke\",t.colors.mediumLight),t.cells[n].pad.setAttribute(\"stroke-width\",\"1\"),t.cells[n].pad.setAttribute(\"stroke-opacity\",\"1\")):t.cells[n].pad.setAttribute(\"stroke\",\"none\")})}},start:{value:function(t){this.interval.event=this.next.bind(this),t&&this.interval.ms(t),this.interval.start()}},stop:{value:function(){this.interval.stop()}},next:{value:function(){this.stepper.next(),this.emit(\"step\",this.matrix.column(this.stepper.value).reverse()),this.render()}},addTouchListeners:{value:function(){var t=this;this.preClick=this.preMove=this.preRelease=function(){},this.click=this.move=this.release=function(){},this.preTouch=this.preTouchMove=this.preTouchRelease=function(){},this.touch=this.touchMove=this.touchRelease=function(){},this.currentElement=!1,this.element.addEventListener(\"touchstart\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];t.paintbrush=!n.state,n.down(t.paintbrush),t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchmove\",function(e){var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY),n=t.cells[i.index];if(i.index!==t.currentElement){if(t.currentElement>=0){t.cells[t.currentElement].up()}n.down(t.paintbrush)}else n.bend();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.cells[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},rows:{get:function(){return this.matrix.rows},set:function(t){this.matrix.rows=t,this.empty(),this.buildInterface(),this.update()}},columns:{get:function(){return this.matrix.columns},set:function(t){this.matrix.columns=t,this.stepper.max=t,this.empty(),this.buildInterface(),this.update()}}}),e}(u);t.exports=y},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t},s=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),o=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},r=n(i(5)),a=n(i(26)),h=function(){function t(e,i){var n=this;o(this,t),this.pattern=[],this.create(e,i),this.toggle={cell:function(t,e){return n.pattern[e][t]=!n.pattern[e][t],n.ui&&n.ui.update(),n.pattern[e][t]},all:function(){n.iterate(function(t,e){n.toggle.cell(e,t)}),n.ui&&n.ui.update()},row:function(t){for(var e=0;ethis.max&&(this.loop?this.value=this.min:this.value=this.max-this.increment),this.value=this.max&&(this.value=this.min),this.value}},down:{value:function(){return this.value--,this.value1)for(var n=Math.min(t.multislider.interpolation.index,t.index),s=Math.max(t.multislider.interpolation.index,t.index),o=t.multislider.sliders[n].value,r=t.multislider.sliders[s].value,u=n;u=0){t.sliders[t.currentElement].up()}n.down()}else n.slide();t.currentElement=i.index,e.preventDefault(),e.stopPropagation()}),this.element.addEventListener(\"touchend\",function(e){t.sliders[t.currentElement].up(),t.interacting=!1,t.currentElement=!1,e.preventDefault(),e.stopPropagation()})}},numberOfSliders:{get:function(){return this.sliders.length},set:function(t){t!==this.sliders.length&&(this.sliders.forEach(function(t){t.destroy()}),this.empty(),this._numberOfSliders=t,this.buildInterface())}},min:{get:function(){return this.sliders[0].min},set:function(t){this.sliders.forEach(function(e){e.min=t})}},max:{get:function(){return this.sliders[0].max},set:function(t){this.sliders.forEach(function(e){e.max=t})}},step:{get:function(){return this.sliders[0].step},set:function(t){this.sliders.forEach(function(e){e.step=t})}},setSlider:{value:function(t,e){this.sliders[t].value=e,this.emit(\"change\",{index:t,value:e})}},setAllSliders:{value:function(t){var e=this;this.values=t,this.sliders.forEach(function(i,n){i.value=t[n%t.length],e.emit(\"change\",{index:n,value:i.value})})}}}),e}(u);t.exports=f},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(4),h=i(6),u=i(11),l=function(t){return t&&t.__esModule?t:{default:t}}(i(12)),c=function(t){function e(t,i,n){r(this,e),s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,t,i,n),this.orientation=this.settings.orientation,this.hasKnob=this.settings.hasKnob,this._value=new u(this.settings.scale[0],this.settings.scale[1],this.settings.step,this.settings.value),this.init(),this.position=new l.Handle(this.settings.mode,this.orientation,[0,this.width],[this.height,0]),this.position.value=this._value.normalized,this.value=this._value.value,this.emit(\"change\",this.value)}return o(e,t),n(e,{buildInterface:{value:function(){this.bar=a.create(\"rect\"),this.fillbar=a.create(\"rect\"),this.knob=a.create(\"circle\"),this.element.appendChild(this.bar),this.element.appendChild(this.fillbar),this.element.appendChild(this.knob),this.sizeInterface()}},sizeInterface:{value:function(){this.settings.orientation||(this.width=0){var i=this.envelope.nodes.indexOf(this)-1,n=this.envelope.nodes.indexOf(this)+1,s=this.envelope.nodes[i],o=this.envelope.nodes[n],r=i>=0?s.x:0,a=na&&(this.x=a)}this.location=this.getCoordinates(),this.element.setAttribute(\"cx\",this.location.x),this.element.setAttribute(\"cy\",this.location.y)},this.getCoordinates=function(){return{x:this.x*this.envelope.width,y:(1-this.y)*this.envelope.height}},this.move(this.x,this.y,!0),this.resize(),this.destroy=function(){this.envelope.element.removeChild(this.element),this.envelope.nodes.splice(this.envelope.nodes.indexOf(this),1)}},c=function(t){function e(){r(this,e);var t=[\"value\"],i={size:[300,150],points:[{x:.1,y:.4},{x:.35,y:.6},{x:.65,y:.2},{x:.9,y:.4}]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.points=this.settings.points,this.nodes=[],this.selected=!1,this.init()}return o(e,t),n(e,{buildInterface:{value:function(){var t=this;this.points.forEach(function(e){var i=new l(e,t);t.nodes.push(i)}),this.sortPoints(),this.line=h.create(\"polyline\"),this.line.setAttribute(\"stroke-width\",2),this.line.setAttribute(\"fill\",\"none\"),this.element.appendChild(this.line),this.fill=h.create(\"polyline\"),this.fill.setAttribute(\"fill-opacity\",\"0.2\"),this.element.appendChild(this.fill)}},sizeInterface:{value:function(){for(var t=0;ts[o].x)}return e>.07&&(t=this.getIndexFromX(this.mouse.x/this.width),this.nodes.splice(t,0,new l({x:this.mouse.x/this.width,y:1-this.mouse.y/this.height},this)),this.hasMoved=!0),t}},getIndexFromX:{value:function(t){var e=this,i=0;return this.nodes.forEach(function(n,s){e.nodes[s].x<=t&&(i=s+1)}),i}},scaleNode:{value:function(t){var e=a.clip(this.nodes[t].x,0,1),i=a.clip(this.nodes[t].y,0,1);this.nodes[t].move(e,i)}},sortPoints:{value:function(){this.nodes.sort(function(t,e){return t.x>e.x})}},addPoint:{value:function(t,e){var i=this.nodes.length;this.sortPoints();for(var n=0;n=this.nodes.length&&(e=this.nodes.length-1);var n=this.nodes[i],s=this.nodes[e],o=a.scale(t,n.x,s.x,0,1),r=a.interp(o,n.y,s.y);return this.emit(\"scan\",r),r}},movePoint:{value:function(t,e,i){this.nodes[t].move(e,i),this.scaleNode(t),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},adjustPoint:{value:function(t,e,i){this.nodes[t].move(this.nodes[t].x+e,this.nodes[t].y+i),this.scaleNode(t),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},destroyPoint:{value:function(t){this.nodes[t].destroy(),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}},setPoints:{value:function(t){for(var e=this;this.nodes.length;)this.nodes[0].destroy();t.forEach(function(t){e.addPoint(t.x,t.y)}),this.calculatePoints(),this.emit(\"change\",this.points),this.render()}}}),e}(u);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(6),u=i(1).context,l=function(t){function e(){r(this,e);var t=[\"scale\",\"value\"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=u(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.active=!0,this.source=!1,this.init()}return o(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteFrequencyData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.source&&this.dataArray)for(var t=this.canvas.element.width/this.bufferLength,e=void 0,i=0,n=this.canvas.element.width/50,s=0;s-200&&this.db!==-1/0?this.db-=1:this.db=-1/0;if(this.db>-70){var n=h.normalize(this.db,-70,5),s=n*n,o=h.scale(s,0,1,this.element.height,0);this.canvas.context.fillStyle=this.colors.accent,this.canvas.context.fillRect(this.meterWidth*t,o,this.meterWidth,this.canvas.element.height-o)}}}},connect:{value:function(t,e){this.source&&this.disconnect(),e?this.channels=e:t.channelCount?this.channels=t.channelCount:this.channels=2,this.meterWidth=this.canvas.element.width/this.channels,this.source=t,this.source.connect(this.splitter)}},disconnect:{value:function(){this.source.disconnect(this.splitter),this.source=!1,this.meterWidth=this.canvas.element.width/this.channels}},click:{value:function(){this.active=!this.active,this.render()}},customDestroy:{value:function(){this.active=!1}}}),e}(u);t.exports=c},function(t,e,i){\"use strict\";var n=function(){function t(t,e){for(var i in e){var n=e[i];n.configurable=!0,n.value&&(n.writable=!0)}Object.defineProperties(t,e)}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=function t(e,i,n){var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s&&s.writable)return s.value;var r=s.get;if(void 0!==r)return r.call(n)},o=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)},r=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},a=i(7),h=i(6),u=i(1).context,l=function(t){function e(){r(this,e);var t=[\"scale\",\"value\"],i={size:[300,150]};s(Object.getPrototypeOf(e.prototype),\"constructor\",this).call(this,arguments,t,i),this.context=u(),this.analyser=this.context.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.dataArray=new Uint8Array(this.bufferLength),this.analyser.getByteTimeDomainData(this.dataArray),this.active=!0,this.source=!1,this.init(),this.render()}return o(e,t),n(e,{buildFrame:{value:function(){this.canvas=new a.SmartCanvas(this.parent),this.element=this.canvas.element}},sizeInterface:{value:function(){this.canvas.resize(this.width,this.height)}},colorInterface:{value:function(){this.canvas.element.style.backgroundColor=this.colors.fill}},render:{value:function(){if(this.active&&requestAnimationFrame(this.render.bind(this)),this.analyser.getByteTimeDomainData(this.dataArray),this.canvas.context.fillStyle=this.colors.fill,this.canvas.context.fillRect(0,0,this.canvas.element.width,this.canvas.element.height),this.canvas.context.lineWidth=~~(this.height/100+2),this.canvas.context.strokeStyle=this.colors.accent,this.canvas.context.beginPath(),this.source)for(var t=1*this.canvas.element.width/this.bufferLength,e=0,i=0;i0;)this.meta.contents.appendChild(this.meta.parent.childNodes[0]);this.meta.contents.style.padding=\"0px\",this.meta.contents.style.boxSizing=\"border-box\",this.meta.title&&(this.meta.titleBar=document.createElement(\"div\"),this.meta.titleBar.innerHTML=this.meta.title,this.meta.titleBar.style.fontFamily=\"arial\",this.meta.titleBar.style.position=\"relative\",this.meta.titleBar.style.color=\"#888\",this.meta.titleBar.style.padding=\"7px\",this.meta.titleBar.style.fontSize=\"12px\",this.meta.button=document.createElement(\"div\"),this.meta.button.style.position=\"absolute\",this.meta.button.style.top=\"5px\",this.meta.button.style.right=\"5px\",this.meta.button.innerHTML=\"-\",this.meta.button.style.padding=\"0px 5px 2px\",this.meta.button.style.lineHeight=\"12px\",this.meta.button.style.fontSize=\"15px\",this.meta.button.style.cursor=\"pointer\",this.meta.button.addEventListener(\"mouseover\",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumDark}),this.meta.button.addEventListener(\"mouseleave\",function(){t.meta.button.style.backgroundColor=t.meta.colors.mediumLight}),this.meta.button.addEventListener(\"click\",function(){t.meta.open?t.hide():t.show()}),this.meta.titleBar.appendChild(this.meta.button),this.meta.parent.appendChild(this.meta.titleBar)),this.meta.parent.appendChild(this.meta.contents);var e=o.section(this.meta.target,this.meta.attribute);for(var i in e)this[i]=e[i]}},colorInterface:{value:function(){this.meta.title&&(this.meta.button.style.backgroundColor=this.meta.colors.mediumLight,this.meta.button.style.border=\"solid 0px \"+this.meta.colors.fill,this.meta.parent.style.border=\"solid 1px \"+this.meta.colors.mediumLight,this.meta.parent.style.backgroundColor=this.meta.colors.light,this.meta.titleBar.style.backgroundColor=this.meta.colors.fill)}},show:{value:function(){this.meta.contents.style.display=\"block\",this.meta.open=!0}},hide:{value:function(){this.meta.contents.style.display=\"none\",this.meta.open=!1}},colorize:{value:function(t,e){for(var i in this)this[i].colorize&&this[i].colorize(t,e);this.meta.colors[t]=e,this.colorInterface()}},empty:{value:function(){for(var t in this)this[t].destroy&&this[t].destroy()}}}),t}();t.exports=h},function(t,e,i){\"use strict\";var n=function(t){return t&&t.__esModule?t.default:t};Object.defineProperty(e,\"__esModule\",{value:!0});var s=n(i(7)),o=n(i(2)),r=function(t,e){var i=t.type;return e[i]?e[i]++:e[i]=1,i+e[i]},a=function(t,e,i){i=i||{};for(var n=0;n1?e-1:0),s=1;s0&&this.on.apply(this,i)}return i(t,{select:{value:function(t){return this.array.fill(0),this.array[t]=1,this.array}},flip:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i0?e.forEach(function(t){t>n.length-1?console.warn(\"Warning: AnonRadio[\"+t+\"] does not exist\"):n[t]=n[t]?0:1}):n.forEach(function(t,e,i){i[e]=t?0:1}),n}},on:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i0?e.forEach(function(t){t>n.length-1?console.warn(\"Warning: AnonRadio[\"+t+\"] exceeds size of object\"):(1===n[t]&&console.warn(\"Warning: AnonRadio[\"+t+\"] was already on.\"),n[t]=1)}):n.fill(1),n}},off:{value:function(){for(var t=arguments.length,e=Array(t),i=0;i0?e.forEach(function(t){n[t]=0}):n.fill(0),n}}}),t}();t.exports=s},function(t,e,i){var n=i(43);t.exports=n,\"undefined\"!=typeof window&&(window.WAAClock=n)},function(t,e,i){(function(e){var i={toleranceLate:.1,toleranceEarly:.001},n=function(t,e,i){this.clock=t,this.func=i,this._cleared=!1,this.toleranceLate=t.toleranceLate,this.toleranceEarly=t.toleranceEarly,this._latestTime=null,this._earliestTime=null,this.deadline=null,this.repeatTime=null,this.schedule(e)};n.prototype.clear=function(){return this.clock._removeEvent(this),this._cleared=!0,this},n.prototype.repeat=function(t){if(0===t)throw new Error(\"delay cannot be 0\");return this.repeatTime=t,this.clock._hasEvent(this)||this.schedule(this.deadline+this.repeatTime),this},n.prototype.tolerance=function(t){return\"number\"==typeof t.late&&(this.toleranceLate=t.late),\"number\"==typeof t.early&&(this.toleranceEarly=t.early),this._refreshEarlyLateDates(),this.clock._hasEvent(this)&&(this.clock._removeEvent(this),this.clock._insertEvent(this)),this},n.prototype.isRepeated=function(){return null!==this.repeatTime},n.prototype.schedule=function(t){this._cleared=!1,this.deadline=t,this._refreshEarlyLateDates(),this.clock.context.currentTime>=this._earliestTime?this._execute():this.clock._hasEvent(this)?(this.clock._removeEvent(this),this.clock._insertEvent(this)):this.clock._insertEvent(this)},n.prototype.timeStretch=function(t,e){this.isRepeated()&&(this.repeatTime=this.repeatTime*e);var i=t+e*(this.deadline-t);if(this.isRepeated())for(;this.clock.context.currentTime>=i-this.toleranceEarly;)i+=this.repeatTime;this.schedule(i)},n.prototype._execute=function(){!1!==this.clock._started&&(this.clock._removeEvent(this),this.clock.context.currentTime1)for(var i=1;i=0))throw new TypeError(\"The specified event type is not supported.\");return this._userHandlers[t].push(e),this},o.prototype.hasListener=function(t,e){if(!this.enabled)throw new Error(\"WebMidi must be enabled before checking event listeners.\");if(\"function\"!=typeof e)throw new TypeError(\"The 'listener' parameter must be a function.\");if(!(this._midiInterfaceEvents.indexOf(t)>=0))throw new TypeError(\"The specified event type is not supported.\");for(var i=0;i=0)if(e)for(var i=0;i-1&&(e=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),e.map(function(t){return parseInt(t)}).filter(function(t){return t>=1&&16>=t})},o.prototype.getInputById=function(t){if(!this.enabled)throw new Error(\"WebMidi is not enabled.\");for(var e=0;e=0&&127>=t?Math.floor(Math.floor(t)/12-1)+Math.floor(h.octaveOffset):void 0},o.prototype.getOutputByName=function(t){if(!this.enabled)throw new Error(\"WebMidi is not enabled.\");for(var e=0;e=0&&127>=t?e=Math.round(t):parseInt(t)>=0&&parseInt(t)<=127?e=parseInt(t):(\"string\"==typeof t||t instanceof String)&&(e=this.noteNameToNumber(t)),!1===e)throw new Error(\"Invalid input value (\"+t+\").\");return e},o.prototype.noteNameToNumber=function(t){\"string\"!=typeof t&&(t=\"\");var e=t.match(/([CDEFGAB])(#{0,2}|b{0,2})(-?\\d+)/i);if(!e)throw new RangeError(\"Invalid note name.\");var i=h._semitones[e[1].toUpperCase()],n=parseInt(e[3]),s=12*(n+1-Math.floor(h.octaveOffset))+i;if(e[2].toLowerCase().indexOf(\"b\")>-1?s-=e[2].length:e[2].toLowerCase().indexOf(\"#\")>-1&&(s+=e[2].length),0>s||s>127)throw new RangeError(\"Invalid note name or note outside valid range.\");return s},o.prototype._updateInputsAndOutputs=function(){this._updateInputs(),this._updateOutputs()},o.prototype._updateInputs=function(){for(var t=0;t=1&&16>=t))throw new RangeError(\"The 'channel' parameter is invalid.\")}),\"function\"!=typeof i)throw new TypeError(\"The 'listener' parameter must be a function.\");if(void 0!==h.MIDI_SYSTEM_MESSAGES[t])this._userHandlers.system[t]||(this._userHandlers.system[t]=[]),this._userHandlers.system[t].push(i);else{if(void 0===h.MIDI_CHANNEL_MESSAGES[t])throw new TypeError(\"The specified event type is not supported.\");if(e.indexOf(\"all\")>-1){e=[];for(var s=1;16>=s;s++)e.push(s)}this._userHandlers.channel[t]||(this._userHandlers.channel[t]=[]),e.forEach(function(e){n._userHandlers.channel[t][e]||(n._userHandlers.channel[t][e]=[]),n._userHandlers.channel[t][e].push(i)})}return this},r.prototype.on=r.prototype.addListener,r.prototype.hasListener=function(t,e,i){var n=this;if(\"function\"!=typeof i)throw new TypeError(\"The 'listener' parameter must be a function.\");if(void 0===e&&(e=\"all\"),e.constructor!==Array&&(e=[e]),void 0!==h.MIDI_SYSTEM_MESSAGES[t]){for(var s=0;s-1){e=[];for(var o=1;16>=o;o++)e.push(o)}return!!this._userHandlers.channel[t]&&e.every(function(e){var s=n._userHandlers.channel[t][e];return s&&s.indexOf(i)>-1})}return!1},r.prototype.removeListener=function(t,e,i){var n=this;if(void 0!==i&&\"function\"!=typeof i)throw new TypeError(\"The 'listener' parameter must be a function.\");if(void 0===e&&(e=\"all\"),e.constructor!==Array&&(e=[e]),void 0!==h.MIDI_SYSTEM_MESSAGES[t])if(void 0===i)this._userHandlers.system[t]=[];else for(var s=0;s-1){e=[];for(var o=1;16>=o;o++)e.push(o)}if(!this._userHandlers.channel[t])return this;e.forEach(function(e){var s=n._userHandlers.channel[t][e];if(s)if(void 0===i)n._userHandlers.channel[t][e]=[];else for(var o=0;o0){var e={target:this,data:t.data,timestamp:t.timeStamp,type:\"midimessage\"};this._userHandlers.system.midimessage.forEach(function(t){t(e)})}t.data[0]<240?this._parseChannelEvent(t):t.data[0]<=255&&this._parseSystemEvent(t)},r.prototype._parseChannelEvent=function(t){var e,i,n=t.data[0]>>4,s=1+(15&t.data[0]);t.data.length>1&&(e=t.data[1],i=t.data.length>2?t.data[2]:void 0);var o={target:this,data:t.data,timestamp:t.timeStamp,channel:s};n===h.MIDI_CHANNEL_MESSAGES.noteoff||n===h.MIDI_CHANNEL_MESSAGES.noteon&&0===i?(o.type=\"noteoff\",o.note={number:e,name:h._notes[e%12],octave:h.getOctave(e)},o.velocity=i/127,o.rawVelocity=i):n===h.MIDI_CHANNEL_MESSAGES.noteon?(o.type=\"noteon\",o.note={number:e,name:h._notes[e%12],octave:h.getOctave(e)},o.velocity=i/127,o.rawVelocity=i):n===h.MIDI_CHANNEL_MESSAGES.keyaftertouch?(o.type=\"keyaftertouch\",o.note={number:e,name:h._notes[e%12],octave:h.getOctave(e)},o.value=i/127):n===h.MIDI_CHANNEL_MESSAGES.controlchange&&e>=0&&119>=e?(o.type=\"controlchange\",o.controller={number:e,name:this.getCcNameByNumber(e)},o.value=i):n===h.MIDI_CHANNEL_MESSAGES.channelmode&&e>=120&&127>=e?(o.type=\"channelmode\",o.controller={number:e,name:this.getChannelModeByNumber(e)},o.value=i):n===h.MIDI_CHANNEL_MESSAGES.programchange?(o.type=\"programchange\",o.value=e):n===h.MIDI_CHANNEL_MESSAGES.channelaftertouch?(o.type=\"channelaftertouch\",o.value=e/127):n===h.MIDI_CHANNEL_MESSAGES.pitchbend?(o.type=\"pitchbend\",o.value=((i<<7)+e-8192)/8192):o.type=\"unknownchannelmessage\",this._userHandlers.channel[o.type]&&this._userHandlers.channel[o.type][s]&&this._userHandlers.channel[o.type][s].forEach(function(t){t(o)})},r.prototype.getCcNameByNumber=function(t){if(!((t=Math.floor(t))>=0&&119>=t))throw new RangeError(\"The control change number must be between 0 and 119.\");for(var e in h.MIDI_CONTROL_CHANGE_MESSAGES)if(h.MIDI_CONTROL_CHANGE_MESSAGES.hasOwnProperty(e)&&t===h.MIDI_CONTROL_CHANGE_MESSAGES[e])return e},r.prototype.getChannelModeByNumber=function(t){if(!((t=Math.floor(t))>=120&&status<=127))throw new RangeError(\"The control change number must be between 120 and 127.\");for(var e in h.MIDI_CHANNEL_MODE_MESSAGES)if(h.MIDI_CHANNEL_MODE_MESSAGES.hasOwnProperty(e)&&t===h.MIDI_CHANNEL_MODE_MESSAGES[e])return e},r.prototype._parseSystemEvent=function(t){var e=t.data[0],i={target:this,data:t.data,timestamp:t.timeStamp};e===h.MIDI_SYSTEM_MESSAGES.sysex?i.type=\"sysex\":e===h.MIDI_SYSTEM_MESSAGES.timecode?i.type=\"timecode\":e===h.MIDI_SYSTEM_MESSAGES.songposition?i.type=\"songposition\":e===h.MIDI_SYSTEM_MESSAGES.songselect?(i.type=\"songselect\",i.song=t.data[1]):e===h.MIDI_SYSTEM_MESSAGES.tuningrequest?i.type=\"tuningrequest\":e===h.MIDI_SYSTEM_MESSAGES.clock?i.type=\"clock\":e===h.MIDI_SYSTEM_MESSAGES.start?i.type=\"start\":e===h.MIDI_SYSTEM_MESSAGES.continue?i.type=\"continue\":e===h.MIDI_SYSTEM_MESSAGES.stop?i.type=\"stop\":e===h.MIDI_SYSTEM_MESSAGES.activesensing?i.type=\"activesensing\":e===h.MIDI_SYSTEM_MESSAGES.reset?i.type=\"reset\":i.type=\"unknownsystemmessage\",this._userHandlers.system[i.type]&&this._userHandlers.system[i.type].forEach(function(t){t(i)})},a.prototype.send=function(t,e,i){if(!(t>=128&&255>=t))throw new RangeError(\"The status byte must be an integer between 128 (0x80) and 255 (0xFF).\");void 0===e&&(e=[]),Array.isArray(e)||(e=[e]);var n=[];return e.forEach(function(t,e){var i=Math.floor(t);if(!(i>=0&&255>=i))throw new RangeError(\"Data bytes must be integers between 0 (0x00) and 255 (0xFF).\");n.push(i)}),this._midiOutput.send([t].concat(n),parseFloat(i)||0),this},a.prototype.sendSysex=function(t,e,i){if(!h.sysexEnabled)throw new Error(\"Sysex message support must first be activated.\");return i=i||{},t=[].concat(t),e.forEach(function(t){if(0>t||t>127)throw new RangeError(\"The data bytes of a sysex message must be integers between 0 (0x00) and 127 (0x7F).\")}),e=t.concat(e,h.MIDI_SYSTEM_MESSAGES.sysexend),this.send(h.MIDI_SYSTEM_MESSAGES.sysex,e,this._parseTimeParameter(i.time)),this},a.prototype.sendTimecodeQuarterFrame=function(t,e){return e=e||{},this.send(h.MIDI_SYSTEM_MESSAGES.timecode,t,this._parseTimeParameter(e.time)),this},a.prototype.sendSongPosition=function(t,e){t=Math.floor(t)||0,e=e||{};var i=t>>7&127,n=127&t;return this.send(h.MIDI_SYSTEM_MESSAGES.songposition,[i,n],this._parseTimeParameter(e.time)),this},a.prototype.sendSongSelect=function(t,e){if(t=Math.floor(t),e=e||{},!(t>=0&&127>=t))throw new RangeError(\"The song number must be between 0 and 127.\");return this.send(h.MIDI_SYSTEM_MESSAGES.songselect,[t],this._parseTimeParameter(e.time)),this},a.prototype.sendTuningRequest=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.tuningrequest,void 0,this._parseTimeParameter(t.time)),this},a.prototype.sendClock=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.clock,void 0,this._parseTimeParameter(t.time)),this},a.prototype.sendStart=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.start,void 0,this._parseTimeParameter(t.time)),this},a.prototype.sendContinue=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.continue,void 0,this._parseTimeParameter(t.time)),this},a.prototype.sendStop=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.stop,void 0,this._parseTimeParameter(t.time)),this},a.prototype.sendActiveSensing=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.activesensing,[],this._parseTimeParameter(t.time)),this},a.prototype.sendReset=function(t){return t=t||{},this.send(h.MIDI_SYSTEM_MESSAGES.reset,void 0,this._parseTimeParameter(t.time)),this},a.prototype.stopNote=function(t,e,i){if(\"all\"===t)return this.sendChannelMode(\"allnotesoff\",0,e,i);var n=64;return i=i||{},i.rawVelocity?!isNaN(i.velocity)&&i.velocity>=0&&i.velocity<=127&&(n=i.velocity):!isNaN(i.velocity)&&i.velocity>=0&&i.velocity<=1&&(n=127*i.velocity),this._convertNoteToArray(t).forEach(function(t){h.toMIDIChannels(e).forEach(function(e){this.send((h.MIDI_CHANNEL_MESSAGES.noteoff<<4)+(e-1),[t,Math.round(n)],this._parseTimeParameter(i.time))}.bind(this))}.bind(this)),this},a.prototype.playNote=function(t,e,i){var n=64;if(i=i||{},i.rawVelocity?!isNaN(i.velocity)&&i.velocity>=0&&i.velocity<=127&&(n=i.velocity):!isNaN(i.velocity)&&i.velocity>=0&&i.velocity<=1&&(n=127*i.velocity),i.time=this._parseTimeParameter(i.time),this._convertNoteToArray(t).forEach(function(t){h.toMIDIChannels(e).forEach(function(e){this.send((h.MIDI_CHANNEL_MESSAGES.noteon<<4)+(e-1),[t,Math.round(n)],i.time)}.bind(this))}.bind(this)),!isNaN(i.duration)){i.duration<=0&&(i.duration=0);var s=64;i.rawVelocity?!isNaN(i.release)&&i.release>=0&&i.release<=127&&(s=i.release):!isNaN(i.release)&&i.release>=0&&i.release<=1&&(s=127*i.release),this._convertNoteToArray(t).forEach(function(t){h.toMIDIChannels(e).forEach(function(e){this.send((h.MIDI_CHANNEL_MESSAGES.noteoff<<4)+(e-1),[t,Math.round(s)],(i.time||h.time)+i.duration)}.bind(this))}.bind(this))}return this},a.prototype.sendKeyAftertouch=function(t,e,i,n){var s=this;if(n=n||{},1>e||e>16)throw new RangeError(\"The channel must be between 1 and 16.\");(isNaN(i)||0>i||i>1)&&(i=.5);var o=Math.round(127*i);return this._convertNoteToArray(t).forEach(function(t){h.toMIDIChannels(e).forEach(function(e){s.send((h.MIDI_CHANNEL_MESSAGES.keyaftertouch<<4)+(e-1),[t,o],s._parseTimeParameter(n.time))})}),this},a.prototype.sendControlChange=function(t,e,i,n){if(n=n||{},\"string\"==typeof t){if(!(t=h.MIDI_CONTROL_CHANGE_MESSAGES[t]))throw new TypeError(\"Invalid controller name.\")}else if(!((t=Math.floor(t))>=0&&119>=t))throw new RangeError(\"Controller numbers must be between 0 and 119.\");if(!((e=Math.floor(e)||0)>=0&&127>=e))throw new RangeError(\"Controller value must be between 0 and 127.\");return h.toMIDIChannels(i).forEach(function(i){this.send((h.MIDI_CHANNEL_MESSAGES.controlchange<<4)+(i-1),[t,e],this._parseTimeParameter(n.time))}.bind(this)),this},a.prototype._selectRegisteredParameter=function(t,e,i){var n=this;if(t[0]=Math.floor(t[0]),!(t[0]>=0&&t[0]<=127))throw new RangeError(\"The control65 value must be between 0 and 127\");if(t[1]=Math.floor(t[1]),!(t[1]>=0&&t[1]<=127))throw new RangeError(\"The control64 value must be between 0 and 127\");return h.toMIDIChannels(e).forEach(function(s){n.sendControlChange(101,t[0],e,{time:i}),n.sendControlChange(100,t[1],e,{time:i})}),this},a.prototype._selectNonRegisteredParameter=function(t,e,i){var n=this;if(t[0]=Math.floor(t[0]),!(t[0]>=0&&t[0]<=127))throw new RangeError(\"The control63 value must be between 0 and 127\");if(t[1]=Math.floor(t[1]),!(t[1]>=0&&t[1]<=127))throw new RangeError(\"The control62 value must be between 0 and 127\");return h.toMIDIChannels(e).forEach(function(s){n.sendControlChange(99,t[0],e,{time:i}),n.sendControlChange(98,t[1],e,{time:i})}),this},a.prototype._setCurrentRegisteredParameter=function(t,e,i){var n=this;if(t=[].concat(t),t[0]=Math.floor(t[0]),!(t[0]>=0&&t[0]<=127))throw new RangeError(\"The msb value must be between 0 and 127\");return h.toMIDIChannels(e).forEach(function(s){n.sendControlChange(6,t[0],e,{time:i})}),t[1]=Math.floor(t[1]),t[1]>=0&&t[1]<=127&&h.toMIDIChannels(e).forEach(function(s){n.sendControlChange(38,t[1],e,{time:i})}),this},a.prototype._deselectRegisteredParameter=function(t,e){var i=this;return h.toMIDIChannels(t).forEach(function(n){i.sendControlChange(101,127,t,{time:e}),i.sendControlChange(100,127,t,{time:e})}),this},a.prototype.setRegisteredParameter=function(t,e,i,n){var s=this;if(n=n||{},!Array.isArray(t)){if(!h.MIDI_REGISTERED_PARAMETER[t])throw new Error(\"The specified parameter is not available.\");t=h.MIDI_REGISTERED_PARAMETER[t]}return h.toMIDIChannels(i).forEach(function(o){s._selectRegisteredParameter(t,i,n.time),s._setCurrentRegisteredParameter(e,i,n.time),s._deselectRegisteredParameter(i,n.time)}),this},a.prototype.setNonRegisteredParameter=function(t,e,i,n){var s=this;if(n=n||{},!(t[0]>=0&&t[0]<=127&&t[1]>=0&&t[1]<=127))throw new Error(\"Position 0 and 1 of the 2-position parameter array must both be between 0 and 127.\");return e=[].concat(e),h.toMIDIChannels(i).forEach(function(o){s._selectNonRegisteredParameter(t,i,n.time),s._setCurrentRegisteredParameter(e,i,n.time),s._deselectRegisteredParameter(i,n.time)}),this},a.prototype.incrementRegisteredParameter=function(t,e,i){var n=this;if(i=i||{},!Array.isArray(t)){if(!h.MIDI_REGISTERED_PARAMETER[t])throw new Error(\"The specified parameter is not available.\");t=h.MIDI_REGISTERED_PARAMETER[t]}return h.toMIDIChannels(e).forEach(function(s){n._selectRegisteredParameter(t,e,i.time),n.sendControlChange(96,0,e,{time:i.time}),n._deselectRegisteredParameter(e,i.time)}),this},a.prototype.decrementRegisteredParameter=function(t,e,i){if(i=i||{},!Array.isArray(t)){if(!h.MIDI_REGISTERED_PARAMETER[t])throw new TypeError(\"The specified parameter is not available.\");t=h.MIDI_REGISTERED_PARAMETER[t]}return h.toMIDIChannels(e).forEach(function(n){this._selectRegisteredParameter(t,e,i.time),this.sendControlChange(97,0,e,{time:i.time}),this._deselectRegisteredParameter(e,i.time)}.bind(this)),this},a.prototype.setPitchBendRange=function(t,e,i,n){var s=this;if(n=n||{},!((t=Math.floor(t)||0)>=0&&127>=t))throw new RangeError(\"The semitones value must be between 0 and 127\");if(!((e=Math.floor(e)||0)>=0&&127>=e))throw new RangeError(\"The cents value must be between 0 and 127\");return h.toMIDIChannels(i).forEach(function(o){s.setRegisteredParameter(\"pitchbendrange\",[t,e],i,{time:n.time})}),this},a.prototype.setModulationRange=function(t,e,i,n){var s=this;if(n=n||{},!((t=Math.floor(t)||0)>=0&&127>=t))throw new RangeError(\"The semitones value must be between 0 and 127\");if(!((e=Math.floor(e)||0)>=0&&127>=e))throw new RangeError(\"The cents value must be between 0 and 127\");return h.toMIDIChannels(i).forEach(function(o){s.setRegisteredParameter(\"modulationrange\",[t,e],i,{time:n.time})}),this},a.prototype.setMasterTuning=function(t,e,i){var n=this;if(i=i||{},-65>=(t=parseFloat(t)||0)||t>=64)throw new RangeError(\"The value must be a decimal number larger than -65 and smaller than 64.\");var s=Math.floor(t)+64,o=t-Math.floor(t);o=Math.round((o+1)/2*16383);var r=o>>7&127,a=127&o;return h.toMIDIChannels(e).forEach(function(t){n.setRegisteredParameter(\"channelcoarsetuning\",s,e,{time:i.time}),n.setRegisteredParameter(\"channelfinetuning\",[r,a],e,{time:i.time})}),this},a.prototype.setTuningProgram=function(t,e,i){var n=this;if(i=i||{},!((t=Math.floor(t))>=0&&127>=t))throw new RangeError(\"The program value must be between 0 and 127\");return h.toMIDIChannels(e).forEach(function(s){n.setRegisteredParameter(\"tuningprogram\",t,e,{time:i.time})}),this},a.prototype.setTuningBank=function(t,e,i){var n=this;if(i=i||{},!((t=Math.floor(t)||0)>=0&&127>=t))throw new RangeError(\"The bank value must be between 0 and 127\");return h.toMIDIChannels(e).forEach(function(s){n.setRegisteredParameter(\"tuningbank\",t,e,{time:i.time})}),this},a.prototype.sendChannelMode=function(t,e,i,n){if(n=n||{},\"string\"==typeof t){if(!(t=h.MIDI_CHANNEL_MODE_MESSAGES[t]))throw new TypeError(\"Invalid channel mode message name.\")}else if(!((t=Math.floor(t))>=120&&127>=t))throw new RangeError(\"Channel mode numerical identifiers must be between 120 and 127.\");if(0>(e=Math.floor(e)||0)||e>127)throw new RangeError(\"Value must be an integer between 0 and 127.\");return h.toMIDIChannels(i).forEach(function(i){this.send((h.MIDI_CHANNEL_MESSAGES.channelmode<<4)+(i-1),[t,e],this._parseTimeParameter(n.time))}.bind(this)),this},a.prototype.sendProgramChange=function(t,e,i){var n=this;if(i=i||{},t=Math.floor(t),isNaN(t)||0>t||t>127)throw new RangeError(\"Program numbers must be between 0 and 127.\");return h.toMIDIChannels(e).forEach(function(e){n.send((h.MIDI_CHANNEL_MESSAGES.programchange<<4)+(e-1),[t],n._parseTimeParameter(i.time))}),this},a.prototype.sendChannelAftertouch=function(t,e,i){var n=this;i=i||{},t=parseFloat(t),(isNaN(t)||0>t||t>1)&&(t=.5);var s=Math.round(127*t);return h.toMIDIChannels(e).forEach(function(t){n.send((h.MIDI_CHANNEL_MESSAGES.channelaftertouch<<4)+(t-1),[s],n._parseTimeParameter(i.time))}),this},a.prototype.sendPitchBend=function(t,e,i){var n=this;if(i=i||{},isNaN(t)||-1>t||t>1)throw new RangeError(\"Pitch bend value must be between -1 and 1.\");var s=Math.round((t+1)/2*16383),o=s>>7&127,r=127&s;return h.toMIDIChannels(e).forEach(function(t){n.send((h.MIDI_CHANNEL_MESSAGES.pitchbend<<4)+(t-1),[r,o],n._parseTimeParameter(i.time))}),this},a.prototype._parseTimeParameter=function(t){var e,i;return\"string\"==typeof t&&\"+\"===t.substring(0,1)?(e=parseFloat(t))&&e>0&&(i=h.time+e):(e=parseFloat(t))>h.time&&(i=e),i},a.prototype._convertNoteToArray=function(t){var e=[];return Array.isArray(t)||(t=[t]),t.forEach(function(t){e.push(h.guessNoteNumber(t))}),e},n=[],void 0!==(s=function(){return h}.apply(e,n))&&(t.exports=s)}()},function(t,e,i){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function s(t){if(t)return void console.error(\"webmidi failed to initialize\");if(!S.default.outputs.length)return void console.error(\"no MIDI output found\");if(console.log(S.default.inputs),console.log(S.default.outputs),S.default.outputs.length>1){var e=S.default.outputs.filter(function(t){return t.name.match(/prodipe/i)});e.length&&(B=e[0])}B=B||S.default.outputs[0],console.log(B.name)}function o(t){console.log(\"pick dataset:\",t),G=0,W=H[t],Y=p(W),X=c(Y.rows)}function r(t){Q=Z[t].fn}function a(){var t=12e4/w.default.Transport.bpm.value*V[L.timing.active][0]*L.duration.value;setTimeout(a,t);var e=Q(G,t),i=g(e,2),n=i[0],s=i[1];if(G=n,z){var o=V[L.timing.active][2];o.length&&(o=o[G%o.length]),U.addEvent(new N.NoteEvent({pitch:s,duration:\"t\"+o}))}}function h(t,e){var i=Y,n=i.rows,s=i.min,o=i.max,r=n.length*n[0].length;t>=r&&(t=0);var a=Math.floor(t/n[0].length),h=t%n[0].length;h||console.log(a);var u=n[a][h];return t+=1,t>=r&&(t=0),[t,[f(l(u,s,o)*L.multiply.value,e)]]}function u(t,e){var i=Y,n=i.rows,s=i.min,o=i.max,r=n.length;t>=r&&(t=0);var a=t%r,h=n[a];if(!h)return void(t=0);var u=Math.min.apply(Math,h),c=l(u,s,o),p=c*L.multiply.value,d=h.map(function(t){f(p+l(t-u,X.min,X.max)*L.interval.value,e)});return t+=1,[t,d]}function l(t,e,i){return(t-e)/(i-e)}function c(t){var e=t.map(function(t){var e=Math.min.apply(Math,t);return Math.max.apply(Math,t)-e});return{min:Math.min.apply(Math,e),max:Math.max.apply(Math,e)}}function p(t){var e=t.lines;return e.forEach(function(t){return t.shift()}),e=e.map(function(t){return t.map(function(t){return parseFloat(t)})}),{rows:e,max:e.reduce(function(t,e){return e.reduce(function(t,e){return Math.max(t,e)},t)},-1/0),min:e.reduce(function(t,e){return e.reduce(function(t,e){return Math.min(t,e)},t)},1/0)}}function f(t,e){var i=C.default.current(),n=i.index(t+Math.round(L.offset.value),L.octave.value),s=(0,I.ftom)(n),o=s%1;if(o>.5&&(s+=1,o-=1),o*=2,s=Math.floor(s),(B||j)&&s>127)return 0;var r=w.default.Frequency(Math.floor(s),\"midi\").toNote();return j||B?(e=e||6e4/w.default.Transport.bpm.value,j||(B.playNote(r,\"all\",{duration:e}),B.sendPitchBend(o,\"all\"))):O.default.play(n),r}function d(t,e,i,n){var s=document.querySelector(e+\" + .val\"),o=function(t){s.innerHTML=i?parseInt(t):t.toFixed(2),n&&n(t)};t.on(\"change\",o),o(t.value),t.update=o}function y(t,e,i,n){var s=t.active,o=document.querySelector(e+\" + .val\"),r=function(e){-1===e?e=t.active=s:s=e,o.innerHTML=i[e][1],n&&n(e)};t.on(\"change\",r),r(t.active),t.update=r}function m(t,e,i){Object.keys(e).forEach(function(i){var n=e[i],s=document.createElement(\"option\");s.innerHTML=n.name,s.value=i,t.appendChild(s)}),t.addEventListener(\"input\",function(t){i(t.target.value)})}function v(){C.default.build_options(document.querySelector(\"#scale\")),m(document.querySelector(\"#dataset\"),H,o),m(document.querySelector(\"#behavior\"),Z,r),w.default.Transport.bpm.value=q,L.tempo=new x.default.Dial(\"#tempo\",{min:10,max:300,step:1,value:q}),d(L.tempo,\"#tempo\",!0,function(t){return w.default.Transport.bpm.value=t}),L.timing=new x.default.RadioButton(\"#timing\",{size:[400,25],numberOfButtons:V.length,active:6}),y(L.timing,\"#timing\",V),L.duration=new x.default.Dial(\"#duration\",{min:0,max:2,step:.01,value:.8}),d(L.duration,\"#duration\",!1),L.offset=new x.default.Dial(\"#offset\",{min:-24,max:24,step:1,value:0}),d(L.offset,\"#offset\",!0),L.octave=new x.default.Dial(\"#octave\",{min:-4,max:4,step:1,value:0}),d(L.octave,\"#octave\",!0),L.multiply=new x.default.Dial(\"#multiply\",{min:-64,max:64,step:1,value:7}),d(L.multiply,\"#multiply\",!0),L.interval=new x.default.Dial(\"#interval\",{min:-64,max:64,step:1,value:10}),d(L.interval,\"#interval\",!0),document.querySelector(\"#export_midi\").addEventListener(\"click\",_);var t=document.querySelector(\"#record_midi\");t.addEventListener(\"click\",function(){if(z){t.innerHTML=\"Record MIDI\",document.body.classList.remove(\"recording\"),z=!1;var e=new N.Writer([U]),i=(0,I.dataURItoBlob)(e.dataUri());(0,R.saveAs)(i,\"Recording - \"+W.name+\".mid\")}else t.innerHTML=\"Save Recording\",document.body.classList.add(\"recording\"),z=!0,U=new N.Track,U.setTempo(L.tempo.value)}),document.querySelector(\".loading\").classList.remove(\"loading\"),a()}function _(){var t=document.querySelector(\"#behavior\").value,e=Y,i=e.rows,n=\"sequence\"===t?i[0].length*i.length:i.length,s=void 0,o=void 0,r=V[L.timing.active][2];j=!0;var a=new N.Track;a.setTempo(L.tempo.value);for(var h=0,u=n;hroot*n;)e/=n,i+=1;for(var o=0;os[o])){e=s[o];break}return e*=Math.pow(2,i)},i.prototype.quantize_index=function(t){return 0|e(index-1,this.scale.length)};var n=i.prototype.parse_interval=function(t){if(\"number\"==typeof t)return t;if(-1==!t.indexOf(\"/\"))return parseInt(t);var e=t.split(\"/\"),i=parseInt(e[0]),n=parseInt(e[1]);return isNaN(i)?1:isNaN(n)||0==n?i:i==n?1:i/n},s=i.prototype.parse_interval_string=function(t){return-1!==t.indexOf(\"/\")?n(t)*this.opt.root:(t.indexOf(\"f\"),parseFloat(t))};return i}()},function(t,e,i){\"use strict\";var n,s,o;\"function\"==typeof Symbol&&Symbol.iterator;/**\n * StartAudioContext.js\n * @author Yotam Mann\n * @license http://opensource.org/licenses/MIT MIT License\n * @copyright 2016 Yotam Mann\n */\n!function(i,r){s=[],n=r,void 0!==(o=\"function\"==typeof n?n.apply(e,s):n)&&(t.exports=o)}(0,function(){function t(){if(e.context&&!e.isStarted()){var t=e.context.createOscillator(),i=e.context.createGain();i.gain.value=0,t.connect(i),i.connect(e.context.destination);var n=e.context.currentTime;t.start(n),t.stop(n+.5)}if(e._tapListeners){for(var s=0;s0)throw new Error(\"Invalid string. Length must be a multiple of 4\");return\"=\"===t[e-2]?2:\"=\"===t[e-1]?1:0}function s(t){return 3*t.length/4-n(t)}function o(t){var e,i,s,o,r,a,h=t.length;r=n(t),a=new c(3*h/4-r),s=r>0?h-4:h;var u=0;for(e=0,i=0;e>16&255,a[u++]=o>>8&255,a[u++]=255&o;return 2===r?(o=l[t.charCodeAt(e)]<<2|l[t.charCodeAt(e+1)]>>4,a[u++]=255&o):1===r&&(o=l[t.charCodeAt(e)]<<10|l[t.charCodeAt(e+1)]<<4|l[t.charCodeAt(e+2)]>>2,a[u++]=o>>8&255,a[u++]=255&o),a}function r(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function a(t,e,i){for(var n,s=[],o=e;oh?h:r+16383));return 1===n?(e=t[i-1],s+=u[e>>2],s+=u[e<<4&63],s+=\"==\"):2===n&&(e=(t[i-2]<<8)+t[i-1],s+=u[e>>10],s+=u[e>>4&63],s+=u[e<<2&63],s+=\"=\"),o.push(s),o.join(\"\")}e.byteLength=s,e.toByteArray=o,e.fromByteArray=h;for(var u=[],l=[],c=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",f=0,d=p.length;f=n())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+n().toString(16)+\" bytes\");return 0|t}function y(t){return+t!=t&&(t=0),o.alloc(+t)}function m(t,e){if(o.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var i=t.length;if(0===i)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return i;case\"utf8\":case\"utf-8\":case void 0:return G(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*i;case\"hex\":return i>>>1;case\"base64\":return Y(t).length;default:if(n)return G(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function v(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return\"\";if(i>>>=0,e>>>=0,i<=e)return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return I(this,e,i);case\"utf8\":case\"utf-8\":return P(this,e,i);case\"ascii\":return M(this,e,i);case\"latin1\":case\"binary\":return C(this,e,i);case\"base64\":return E(this,e,i);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,e,i);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function _(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function g(t,e,i,n,s){if(0===t.length)return-1;if(\"string\"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=s?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(s)return-1;i=t.length-1}else if(i<0){if(!s)return-1;i=0}if(\"string\"==typeof e&&(e=o.from(e,n)),o.isBuffer(e))return 0===e.length?-1:b(t,e,i,n,s);if(\"number\"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):b(t,[e],i,n,s);throw new TypeError(\"val must be string, number or Buffer\")}function b(t,e,i,n,s){function o(t,e){return 1===r?t[e]:t.readUInt16BE(e*r)}var r=1,a=t.length,h=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;r=2,a/=2,h/=2,i/=2}var u;if(s){var l=-1;for(u=i;ua&&(i=a-h),u=i;u>=0;u--){for(var c=!0,p=0;ps&&(n=s):n=s;var o=e.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");n>o/2&&(n=o/2);for(var r=0;r239?4:o>223?3:o>191?2:1;if(s+a<=i){var h,u,l,c;switch(a){case 1:o<128&&(r=o);break;case 2:h=t[s+1],128==(192&h)&&(c=(31&o)<<6|63&h)>127&&(r=c);break;case 3:h=t[s+1],u=t[s+2],128==(192&h)&&128==(192&u)&&(c=(15&o)<<12|(63&h)<<6|63&u)>2047&&(c<55296||c>57343)&&(r=c);break;case 4:h=t[s+1],u=t[s+2],l=t[s+3],128==(192&h)&&128==(192&u)&&128==(192&l)&&(c=(15&o)<<18|(63&h)<<12|(63&u)<<6|63&l)>65535&&c<1114112&&(r=c)}}null===r?(r=65533,a=1):r>65535&&(r-=65536,n.push(r>>>10&1023|55296),r=56320|1023&r),n.push(r),s+=a}return O(n)}function O(t){var e=t.length;if(e<=J)return String.fromCharCode.apply(String,t);for(var i=\"\",n=0;nn)&&(i=n);for(var s=\"\",o=e;oi)throw new RangeError(\"Trying to access beyond buffer length\")}function D(t,e,i,n,s,r){if(!o.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>s||et.length)throw new RangeError(\"Index out of range\")}function N(t,e,i,n){e<0&&(e=65535+e+1);for(var s=0,o=Math.min(t.length-i,2);s>>8*(n?s:1-s)}function q(t,e,i,n){e<0&&(e=4294967295+e+1);for(var s=0,o=Math.min(t.length-i,4);s>>8*(n?s:3-s)&255}function L(t,e,i,n,s,o){if(i+n>t.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"Index out of range\")}function B(t,e,i,n,s){return s||L(t,e,i,4,3.4028234663852886e38,-3.4028234663852886e38),K.write(t,e,i,n,23,4),i+4}function j(t,e,i,n,s){return s||L(t,e,i,8,1.7976931348623157e308,-1.7976931348623157e308),K.write(t,e,i,n,52,8),i+8}function z(t){if(t=U(t).replace(tt,\"\"),t.length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}function U(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function V(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function G(t,e){e=e||1/0;for(var i,n=t.length,s=null,o=[],r=0;r55295&&i<57344){if(!s){if(i>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(r+1===n){(e-=3)>-1&&o.push(239,191,189);continue}s=i;continue}if(i<56320){(e-=3)>-1&&o.push(239,191,189),s=i;continue}i=65536+(s-55296<<10|i-56320)}else s&&(e-=3)>-1&&o.push(239,191,189);if(s=null,i<128){if((e-=1)<0)break;o.push(i)}else if(i<2048){if((e-=2)<0)break;o.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;o.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;o.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return o}function H(t){for(var e=[],i=0;i>8,s=i%256,o.push(s),o.push(n);return o}function Y(t){return Z.toByteArray(z(t))}function X(t,e,i,n){for(var s=0;s=e.length||s>=t.length);++s)e[s+i]=t[s];return s}function Q(t){return t!==t}/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nvar Z=i(13),K=i(15),$=i(16);e.Buffer=o,e.SlowBuffer=y,e.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&\"function\"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=n(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,i){return r(null,t,e,i)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,i){return h(null,t,e,i)},o.allocUnsafe=function(t){return u(null,t)},o.allocUnsafeSlow=function(t){return u(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var i=t.length,n=e.length,s=0,r=Math.min(i,n);s0&&(t=this.toString(\"hex\",0,i).match(/.{2}/g).join(\" \"),this.length>i&&(t+=\" ... \")),\"\"},o.prototype.compare=function(t,e,i,n,s){if(!o.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),e<0||i>t.length||n<0||s>this.length)throw new RangeError(\"out of range index\");if(n>=s&&e>=i)return 0;if(n>=s)return-1;if(e>=i)return 1;if(e>>>=0,i>>>=0,n>>>=0,s>>>=0,this===t)return 0;for(var r=s-n,a=i-e,h=Math.min(r,a),u=this.slice(n,s),l=t.slice(e,i),c=0;cs)&&(i=s),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var o=!1;;)switch(n){case\"hex\":return w(this,t,e,i);case\"utf8\":case\"utf-8\":return T(this,t,e,i);case\"ascii\":return S(this,t,e,i);case\"latin1\":case\"binary\":return A(this,t,e,i);case\"base64\":return x(this,t,e,i);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return k(this,t,e,i);default:if(o)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var J=4096;o.prototype.slice=function(t,e){var i=this.length;t=~~t,e=void 0===e?i:~~e,t<0?(t+=i)<0&&(t=0):t>i&&(t=i),e<0?(e+=i)<0&&(e=0):e>i&&(e=i),e0&&(s*=256);)n+=this[t+--e]*s;return n},o.prototype.readUInt8=function(t,e){return e||F(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return e||F(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return e||F(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,i){t|=0,e|=0,i||F(t,e,this.length);for(var n=this[t],s=1,o=0;++o=s&&(n-=Math.pow(2,8*e)),n},o.prototype.readIntBE=function(t,e,i){t|=0,e|=0,i||F(t,e,this.length);for(var n=e,s=1,o=this[t+--n];n>0&&(s*=256);)o+=this[t+--n]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*e)),o},o.prototype.readInt8=function(t,e){return e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){e||F(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},o.prototype.readInt16BE=function(t,e){e||F(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},o.prototype.readInt32LE=function(t,e){return e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return e||F(t,4,this.length),K.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return e||F(t,4,this.length),K.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return e||F(t,8,this.length),K.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return e||F(t,8,this.length),K.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,i,n){if(t=+t,e|=0,i|=0,!n){D(this,t,e,i,Math.pow(2,8*i)-1,0)}var s=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+s]=t/o&255;return e+i},o.prototype.writeUInt8=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,1,255,0),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):N(this,t,e,!0),e+2},o.prototype.writeUInt16BE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):N(this,t,e,!1),e+2},o.prototype.writeUInt32LE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):q(this,t,e,!0),e+4},o.prototype.writeUInt32BE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):q(this,t,e,!1),e+4},o.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e|=0,!n){var s=Math.pow(2,8*i-1);D(this,t,e,i,s-1,-s)}var o=0,r=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+i},o.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e|=0,!n){var s=Math.pow(2,8*i-1);D(this,t,e,i,s-1,-s)}var o=i-1,r=1,a=0;for(this[e+o]=255&t;--o>=0&&(r*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/r>>0)-a&255;return e+i},o.prototype.writeInt8=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,1,127,-128),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):N(this,t,e,!0),e+2},o.prototype.writeInt16BE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):N(this,t,e,!1),e+2},o.prototype.writeInt32LE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):q(this,t,e,!0),e+4},o.prototype.writeInt32BE=function(t,e,i){return t=+t,e|=0,i||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):q(this,t,e,!1),e+4},o.prototype.writeFloatLE=function(t,e,i){return B(this,t,e,!0,i)},o.prototype.writeFloatBE=function(t,e,i){return B(this,t,e,!1,i)},o.prototype.writeDoubleLE=function(t,e,i){return j(this,t,e,!0,i)},o.prototype.writeDoubleBE=function(t,e,i){return j(this,t,e,!1,i)},o.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e=0;--s)t[s+e]=this[s+i];else if(r<1e3||!o.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,i=void 0===i?this.length:i>>>0,t||(t=0);var r;if(\"number\"==typeof t)for(r=e;r>1,l=-7,c=i?s-1:0,p=i?-1:1,f=t[e+c];for(c+=p,o=f&(1<<-l)-1,f>>=-l,l+=a;l>0;o=256*o+t[e+c],c+=p,l-=8);for(r=o&(1<<-l)-1,o>>=-l,l+=n;l>0;r=256*r+t[e+c],c+=p,l-=8);if(0===o)o=1-u;else{if(o===h)return r?NaN:1/0*(f?-1:1);r+=Math.pow(2,n),o-=u}return(f?-1:1)*r*Math.pow(2,o-n)},e.write=function(t,e,i,n,s,o){var r,a,h,u=8*o-s-1,l=(1<>1,p=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,r=l):(r=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-r))<1&&(r--,h*=2),e+=r+c>=1?p/h:p*Math.pow(2,1-c),e*h>=2&&(r++,h/=2),r+c>=l?(a=0,r=l):r+c>=1?(a=(e*h-1)*Math.pow(2,s),r+=c):(a=e*Math.pow(2,c-1)*Math.pow(2,s),r=0));s>=8;t[i+f]=255&a,f+=d,a/=256,s-=8);for(r=r<0;t[i+f]=255&r,f+=d,r/=256,u-=8);t[i+f-d]|=128*y}},function(t,e){var i={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==i.call(t)}},function(t,e,i){\"use strict\";function n(t){return\"number\"==typeof t}function s(t){return\"string\"==typeof t}function o(t){return void 0!==t}function r(t,e){return Math.pow(2,(t-69)/12)*(e||440)}function a(t,e,i){if(\"string\"!=typeof t)return null;var n=u.exec(t);if(!n||!e&&n[4])return null;var s={letter:n[1].toUpperCase(),acc:n[2].replace(/x/g,\"##\")};s.pc=s.letter+s.acc,s.step=(s.letter.charCodeAt(0)+3)%7,s.alt=\"b\"===s.acc[0]?-s.acc.length:s.acc.length;var o=l[s.step]+s.alt;return s.chroma=o<0?12+o:o%12,n[3]&&(s.oct=+n[3],s.midi=o+12*(s.oct+1),s.freq=r(s.midi,i)),e&&(s.tonicOf=n[4]),s}function h(t){if((n(t)||s(t))&&t>=0&&t<128)return+t;var e=a(t);return e&&o(e.midi)?e.midi:null}e.a=h;var u=/^([a-gA-G])(#{1,}|b{1,}|x{1,}|)(-?\\d*)\\s*(.*)\\s*$/,l=[0,2,4,5,7,9,11]},function(t,e){function i(){throw new Error(\"setTimeout has not been defined\")}function n(){throw new Error(\"clearTimeout has not been defined\")}function s(t){if(l===setTimeout)return setTimeout(t,0);if((l===i||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(c===clearTimeout)return clearTimeout(t);if((c===n||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(t);try{return c(t)}catch(e){try{return c.call(null,t)}catch(e){return c.call(this,t)}}}function r(){y&&f&&(y=!1,f.length?d=f.concat(d):m=-1,d.length&&a())}function a(){if(!y){var t=s(r);y=!0;for(var e=d.length;e;){for(f=d,d=[];++m1)for(var i=1;i