UNPKG

web-audio-test-api

Version:
565 lines (446 loc) 29.4 kB
"use strict"; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _dec34, _dec35, _dec36, _dec37, _dec38, _dec39, _dec40, _dec41, _dec42, _dec43, _dec44, _dec45, _dec46, _desc, _value, _class; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _Configuration = require("./utils/Configuration"); var _Configuration2 = _interopRequireDefault(_Configuration); var _Immigration = require("./utils/Immigration"); var _Immigration2 = _interopRequireDefault(_Immigration); var _Event = require("./dom/Event"); var _Event2 = _interopRequireDefault(_Event); var _EventTarget2 = require("./dom/EventTarget"); var _EventTarget3 = _interopRequireDefault(_EventTarget2); var _HTMLMediaElement = require("./dom/HTMLMediaElement"); var _HTMLMediaElement2 = _interopRequireDefault(_HTMLMediaElement); var _MediaStream = require("./dom/MediaStream"); var _MediaStream2 = _interopRequireDefault(_MediaStream); var _AudioBuffer = require("./AudioBuffer"); var _AudioBuffer2 = _interopRequireDefault(_AudioBuffer); var _AnalyserNode = require("./AnalyserNode"); var _AnalyserNode2 = _interopRequireDefault(_AnalyserNode); var _AudioBufferSourceNode = require("./AudioBufferSourceNode"); var _AudioBufferSourceNode2 = _interopRequireDefault(_AudioBufferSourceNode); var _AudioDestinationNode = require("./AudioDestinationNode"); var _AudioDestinationNode2 = _interopRequireDefault(_AudioDestinationNode); var _AudioListener = require("./AudioListener"); var _AudioListener2 = _interopRequireDefault(_AudioListener); var _BiquadFilterNode = require("./BiquadFilterNode"); var _BiquadFilterNode2 = _interopRequireDefault(_BiquadFilterNode); var _ChannelMergerNode = require("./ChannelMergerNode"); var _ChannelMergerNode2 = _interopRequireDefault(_ChannelMergerNode); var _ChannelSplitterNode = require("./ChannelSplitterNode"); var _ChannelSplitterNode2 = _interopRequireDefault(_ChannelSplitterNode); var _ConvolverNode = require("./ConvolverNode"); var _ConvolverNode2 = _interopRequireDefault(_ConvolverNode); var _DelayNode = require("./DelayNode"); var _DelayNode2 = _interopRequireDefault(_DelayNode); var _DynamicsCompressorNode = require("./DynamicsCompressorNode"); var _DynamicsCompressorNode2 = _interopRequireDefault(_DynamicsCompressorNode); var _GainNode = require("./GainNode"); var _GainNode2 = _interopRequireDefault(_GainNode); var _MediaElementAudioSourceNode = require("./MediaElementAudioSourceNode"); var _MediaElementAudioSourceNode2 = _interopRequireDefault(_MediaElementAudioSourceNode); var _MediaStreamAudioDestinationNode = require("./MediaStreamAudioDestinationNode"); var _MediaStreamAudioDestinationNode2 = _interopRequireDefault(_MediaStreamAudioDestinationNode); var _MediaStreamAudioSourceNode = require("./MediaStreamAudioSourceNode"); var _MediaStreamAudioSourceNode2 = _interopRequireDefault(_MediaStreamAudioSourceNode); var _OscillatorNode = require("./OscillatorNode"); var _OscillatorNode2 = _interopRequireDefault(_OscillatorNode); var _PannerNode = require("./PannerNode"); var _PannerNode2 = _interopRequireDefault(_PannerNode); var _PeriodicWave = require("./PeriodicWave"); var _PeriodicWave2 = _interopRequireDefault(_PeriodicWave); var _ScriptProcessorNode = require("./ScriptProcessorNode"); var _ScriptProcessorNode2 = _interopRequireDefault(_ScriptProcessorNode); var _StereoPannerNode = require("./StereoPannerNode"); var _StereoPannerNode2 = _interopRequireDefault(_StereoPannerNode); var _WaveShaperNode = require("./WaveShaperNode"); var _WaveShaperNode2 = _interopRequireDefault(_WaveShaperNode); var _getAPIVersion = require("./utils/getAPIVersion"); var _getAPIVersion2 = _interopRequireDefault(_getAPIVersion); var _defaults = require("./utils/defaults"); var _defaults2 = _interopRequireDefault(_defaults); var _toMicroseconds = require("./utils/toMicroseconds"); var _toMicroseconds2 = _interopRequireDefault(_toMicroseconds); var _props = require("./decorators/props"); var props = _interopRequireWildcard(_props); var _methods = require("./decorators/methods"); var methods = _interopRequireWildcard(_methods); var _validators = require("./validators"); var validators = _interopRequireWildcard(_validators); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var configuration = _Configuration2.default.getInstance(); var immigration = _Immigration2.default.getInstance(); function isEnabledState() { return configuration.getState("AudioContext#suspend") === "enabled" || configuration.getState("AudioContext#resume") === "enabled" || configuration.getState("AudioContext#close") === "enabled"; } var AudioContext = (_dec = props.readonly(), _dec2 = props.readonly(), _dec3 = props.readonly(), _dec4 = props.readonly(), _dec5 = props.on("statechange"), _dec6 = methods.returns(validators.isInstanceOf(Promise)), _dec7 = methods.returns(validators.isInstanceOf(Promise)), _dec8 = methods.returns(validators.isInstanceOf(Promise)), _dec9 = methods.param("numberOfChannels", validators.isPositiveInteger), _dec10 = methods.param("length", validators.isPositiveInteger), _dec11 = methods.param("sampleRate", validators.isPositiveInteger), _dec12 = methods.returns(validators.isInstanceOf(_AudioBuffer2.default)), _dec13 = methods.param("audioData", validators.isInstanceOf(ArrayBuffer)), _dec14 = methods.param("[ successCallback ]", validators.isFunction), _dec15 = methods.param("[ errorCallback ]", validators.isFunction), _dec16 = methods.returns(validators.isInstanceOf(_AudioBufferSourceNode2.default)), _dec17 = methods.param("mediaElement", validators.isInstanceOf(_HTMLMediaElement2.default)), _dec18 = methods.returns(validators.isInstanceOf(_MediaElementAudioSourceNode2.default)), _dec19 = methods.param("mediaStream", validators.isInstanceOf(_MediaStream2.default)), _dec20 = methods.returns(validators.isInstanceOf(_MediaStreamAudioSourceNode2.default)), _dec21 = methods.returns(validators.isInstanceOf(_MediaStreamAudioDestinationNode2.default)), _dec22 = methods.contract({ precondition: function precondition() { throw new TypeError("not enabled"); } }), _dec23 = methods.param("bufferSize", validators.isPositiveInteger), _dec24 = methods.param("[ numberOfInputChannels ]", validators.isPositiveInteger), _dec25 = methods.param("[ numberOfOutputChannels ]", validators.isPositiveInteger), _dec26 = methods.returns(validators.isInstanceOf(_ScriptProcessorNode2.default)), _dec27 = methods.returns(validators.isInstanceOf(_AnalyserNode2.default)), _dec28 = methods.returns(validators.isInstanceOf(_GainNode2.default)), _dec29 = methods.param("[ maxDelayTime ]", validators.isPositiveNumber), _dec30 = methods.returns(validators.isInstanceOf(_DelayNode2.default)), _dec31 = methods.returns(validators.isInstanceOf(_BiquadFilterNode2.default)), _dec32 = methods.returns(validators.isInstanceOf(_WaveShaperNode2.default)), _dec33 = methods.returns(validators.isInstanceOf(_PannerNode2.default)), _dec34 = methods.contract({ precondition: function precondition() { if (configuration.getState("AudioContext#createStereoPanner") !== "enabled") { throw new TypeError("not enabled"); } } }), _dec35 = methods.returns(validators.isInstanceOf(_StereoPannerNode2.default)), _dec36 = methods.returns(validators.isInstanceOf(_ConvolverNode2.default)), _dec37 = methods.param("[ numberOfOutputs ]", validators.isPositiveInteger), _dec38 = methods.returns(validators.isInstanceOf(_ChannelSplitterNode2.default)), _dec39 = methods.param("[ numberOfInputs ]", validators.isPositiveInteger), _dec40 = methods.returns(validators.isInstanceOf(_ChannelMergerNode2.default)), _dec41 = methods.returns(validators.isInstanceOf(_DynamicsCompressorNode2.default)), _dec42 = methods.returns(validators.isInstanceOf(_OscillatorNode2.default)), _dec43 = methods.param("real", validators.isInstanceOf(Float32Array)), _dec44 = methods.param("imag", validators.isInstanceOf(Float32Array)), _dec45 = methods.returns(validators.isInstanceOf(_PeriodicWave2.default)), _dec46 = methods.contract({ precondition: function precondition(methodName) { if (configuration.getState("AudioContext#" + methodName) !== "enabled") { throw new TypeError("not enabled"); } } }), (_class = (function (_EventTarget) { _inherits(AudioContext, _EventTarget); function AudioContext() { _classCallCheck(this, AudioContext); var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(AudioContext).call(this)); Object.defineProperty(_this, "_", { value: {} }); _this._.destination = immigration.apply(function (admission) { return new _AudioDestinationNode2.default(admission, _this); }); _this._.sampleRate = global.WebAudioTestAPI.sampleRate; _this._.listener = immigration.apply(function (admission) { return new _AudioListener2.default(admission, _this); }); _this._.microCurrentTime = 0; _this._.processedSamples = 0; _this._.tick = 0; _this._.state = "running"; return _this; } _createClass(AudioContext, [{ key: "destination", value: function destination() { return this._.destination; } }, { key: "sampleRate", value: function sampleRate() { return this._.sampleRate; } }, { key: "currentTime", value: function currentTime() { return this._.microCurrentTime / (1000 * 1000); } }, { key: "listener", value: function listener() { return this._.listener; } }, { key: "onstatechange", value: function onstatechange() {} }, { key: "suspend", value: function suspend() { var _this2 = this; return this.__transitionToState("suspend", function () { if (_this2._.state === "running") { _this2._.state = "suspended"; _this2.dispatchEvent(new _Event2.default("statechange", _this2)); } }); } }, { key: "resume", value: function resume() { var _this3 = this; return this.__transitionToState("resume", function () { if (_this3._.state === "suspended") { _this3._.state = "running"; _this3.dispatchEvent(new _Event2.default("statechange", _this3)); } }); } }, { key: "close", value: function close() { var _this4 = this; return this.__transitionToState("close", function () { if (_this4._.state !== "closed") { _this4._.state = "closed"; _this4.$reset(); _this4.dispatchEvent(new _Event2.default("statechange", _this4)); } }); } }, { key: "createBuffer", value: function createBuffer(numberOfChannels, length, sampleRate) { var _this5 = this; return immigration.apply(function (admission) { return new _AudioBuffer2.default(admission, _this5, numberOfChannels, length, sampleRate); }); } }, { key: "decodeAudioData", value: function decodeAudioData(audioData, successCallback, errorCallback) { var _this6 = this; var isPromiseBased = configuration.getState("AudioContext#decodeAudioData") === "promise"; if (isPromiseBased) { successCallback = (0, _defaults2.default)(successCallback, function () {}); errorCallback = (0, _defaults2.default)(errorCallback, function () {}); } else { errorCallback = (0, _defaults2.default)(errorCallback, function () {}); } var promise = new Promise(function (resolve, reject) { if (_this6.DECODE_AUDIO_DATA_FAILED) { reject(); } else { resolve(_this6.DECODE_AUDIO_DATA_RESULT || immigration.apply(function (admission) { return new _AudioBuffer2.default(admission, _this6, 2, 1024, _this6.sampleRate); })); } }); promise.then(successCallback, errorCallback); if (isPromiseBased) { return promise; } } }, { key: "createBufferSource", value: function createBufferSource() { var _this7 = this; return immigration.apply(function (admission) { return new _AudioBufferSourceNode2.default(admission, _this7); }); } }, { key: "createMediaElementSource", value: function createMediaElementSource(mediaElement) { var _this8 = this; return immigration.apply(function (admission) { return new _MediaElementAudioSourceNode2.default(admission, _this8, mediaElement); }); } }, { key: "createMediaStreamSource", value: function createMediaStreamSource(mediaStream) { var _this9 = this; return immigration.apply(function (admission) { return new _MediaStreamAudioSourceNode2.default(admission, _this9, mediaStream); }); } }, { key: "createMediaStreamDestination", value: function createMediaStreamDestination() { var _this10 = this; return immigration.apply(function (admission) { return new _MediaStreamAudioDestinationNode2.default(admission, _this10); }); } }, { key: "createAudioWorker", value: function createAudioWorker() {} }, { key: "createScriptProcessor", value: function createScriptProcessor(bufferSize) { var _this11 = this; var numberOfInputChannels = arguments.length <= 1 || arguments[1] === undefined ? 2 : arguments[1]; var numberOfOutputChannels = arguments.length <= 2 || arguments[2] === undefined ? 2 : arguments[2]; return immigration.apply(function (admission) { return new _ScriptProcessorNode2.default(admission, _this11, bufferSize, numberOfInputChannels, numberOfOutputChannels); }); } }, { key: "createAnalyser", value: function createAnalyser() { var _this12 = this; return immigration.apply(function (admission) { return new _AnalyserNode2.default(admission, _this12); }); } }, { key: "createGain", value: function createGain() { var _this13 = this; return immigration.apply(function (admission) { return new _GainNode2.default(admission, _this13); }); } }, { key: "createDelay", value: function createDelay() { var _this14 = this; var maxDelayTime = arguments.length <= 0 || arguments[0] === undefined ? 1 : arguments[0]; return immigration.apply(function (admission) { return new _DelayNode2.default(admission, _this14, maxDelayTime); }); } }, { key: "createBiquadFilter", value: function createBiquadFilter() { var _this15 = this; return immigration.apply(function (admission) { return new _BiquadFilterNode2.default(admission, _this15); }); } }, { key: "createWaveShaper", value: function createWaveShaper() { var _this16 = this; return immigration.apply(function (admission) { return new _WaveShaperNode2.default(admission, _this16); }); } }, { key: "createPanner", value: function createPanner() { var _this17 = this; return immigration.apply(function (admission) { return new _PannerNode2.default(admission, _this17); }); } }, { key: "createStereoPanner", value: function createStereoPanner() { var _this18 = this; return immigration.apply(function (admission) { return new _StereoPannerNode2.default(admission, _this18); }); } }, { key: "createConvolver", value: function createConvolver() { var _this19 = this; return immigration.apply(function (admission) { return new _ConvolverNode2.default(admission, _this19); }); } }, { key: "createChannelSplitter", value: function createChannelSplitter() { var _this20 = this; var numberOfOutputs = arguments.length <= 0 || arguments[0] === undefined ? 6 : arguments[0]; return immigration.apply(function (admission) { return new _ChannelSplitterNode2.default(admission, _this20, numberOfOutputs); }); } }, { key: "createChannelMerger", value: function createChannelMerger() { var _this21 = this; var numberOfInputs = arguments.length <= 0 || arguments[0] === undefined ? 6 : arguments[0]; return immigration.apply(function (admission) { return new _ChannelMergerNode2.default(admission, _this21, numberOfInputs); }); } }, { key: "createDynamicsCompressor", value: function createDynamicsCompressor() { var _this22 = this; return immigration.apply(function (admission) { return new _DynamicsCompressorNode2.default(admission, _this22); }); } }, { key: "createOscillator", value: function createOscillator() { var _this23 = this; return immigration.apply(function (admission) { return new _OscillatorNode2.default(admission, _this23); }); } }, { key: "createPeriodicWave", value: function createPeriodicWave(real, imag) { var _this24 = this; return immigration.apply(function (admission) { return new _PeriodicWave2.default(admission, _this24, real, imag); }); } }, { key: "__transitionToState", value: function __transitionToState(methodName, callback) { var _this25 = this; return new Promise(function (resolve) { if (_this25._.state === "close") { throw new TypeError("Cannot " + methodName + " a context that is being closed or has already been closed."); } callback(); resolve(); }); } }, { key: "toJSON", value: function toJSON() { return this.destination.toJSON([]); } }, { key: "$process", value: function $process(when) { this.__process((0, _toMicroseconds2.default)(when)); } }, { key: "$processTo", value: function $processTo(when) { var time = (0, _toMicroseconds2.default)(when); if (this._.microCurrentTime < time) { this.__process(time - this._.microCurrentTime); } } }, { key: "$reset", value: function $reset() { this._.microCurrentTime = 0; this._.processedSamples = 0; this.destination.$inputs.forEach(function (junction) { junction.inputs.forEach(function (junction) { junction.disconnectAll(); }); }); } }, { key: "__process", value: function __process(microseconds) { var nextMicroCurrentTime = this._.microCurrentTime + microseconds; while (this._.state === "running" && this._.microCurrentTime < nextMicroCurrentTime) { var microCurrentTime = Math.min(this._.microCurrentTime + 1000, nextMicroCurrentTime); var processedSamples = Math.floor(microCurrentTime / (1000 * 1000) * this.sampleRate); var inNumSamples = processedSamples - this._.processedSamples; this._.microCurrentTime = microCurrentTime; this._.processedSamples = processedSamples; this.destination.$process(inNumSamples, ++this._.tick); } } }, { key: "state", get: function get() { if (isEnabledState()) { return this._.state; } }, set: function set(value) { if (!isEnabledState(value)) { return; } throw new TypeError(this.constructor.name + "; Attempt to assign to readonly property: \"state\""); } }, { key: "$name", get: function get() { return "AudioContext"; } }, { key: "$context", get: function get() { return this; } }], [{ key: "WEB_AUDIO_TEST_API_VERSION", get: function get() { return (0, _getAPIVersion2.default)(); } }]); return AudioContext; })(_EventTarget3.default), (_desc = _dec(_class.prototype, "destination", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "destination")) || _desc, _desc ? Object.defineProperty(_class.prototype, "destination", _desc) : void 0, _desc = _dec2(_class.prototype, "sampleRate", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "sampleRate")) || _desc, _desc ? Object.defineProperty(_class.prototype, "sampleRate", _desc) : void 0, _desc = _dec3(_class.prototype, "currentTime", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "currentTime")) || _desc, _desc ? Object.defineProperty(_class.prototype, "currentTime", _desc) : void 0, _desc = _dec4(_class.prototype, "listener", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "listener")) || _desc, _desc ? Object.defineProperty(_class.prototype, "listener", _desc) : void 0, _desc = _dec5(_class.prototype, "onstatechange", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "onstatechange")) || _desc, _desc ? Object.defineProperty(_class.prototype, "onstatechange", _desc) : void 0, _desc = _dec6(_class.prototype, "suspend", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "suspend")) || _desc, _desc ? Object.defineProperty(_class.prototype, "suspend", _desc) : void 0, _desc = _dec7(_class.prototype, "resume", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "resume")) || _desc, _desc ? Object.defineProperty(_class.prototype, "resume", _desc) : void 0, _desc = _dec8(_class.prototype, "close", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "close")) || _desc, _desc ? Object.defineProperty(_class.prototype, "close", _desc) : void 0, _desc = _dec9(_class.prototype, "createBuffer", _desc = _dec10(_class.prototype, "createBuffer", _desc = _dec11(_class.prototype, "createBuffer", _desc = _dec12(_class.prototype, "createBuffer", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createBuffer")) || _desc) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createBuffer", _desc) : void 0, _desc = _dec13(_class.prototype, "decodeAudioData", _desc = _dec14(_class.prototype, "decodeAudioData", _desc = _dec15(_class.prototype, "decodeAudioData", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "decodeAudioData")) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "decodeAudioData", _desc) : void 0, _desc = _dec16(_class.prototype, "createBufferSource", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createBufferSource")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createBufferSource", _desc) : void 0, _desc = _dec17(_class.prototype, "createMediaElementSource", _desc = _dec18(_class.prototype, "createMediaElementSource", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createMediaElementSource")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createMediaElementSource", _desc) : void 0, _desc = _dec19(_class.prototype, "createMediaStreamSource", _desc = _dec20(_class.prototype, "createMediaStreamSource", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createMediaStreamSource")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createMediaStreamSource", _desc) : void 0, _desc = _dec21(_class.prototype, "createMediaStreamDestination", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createMediaStreamDestination")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createMediaStreamDestination", _desc) : void 0, _desc = _dec22(_class.prototype, "createAudioWorker", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createAudioWorker")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createAudioWorker", _desc) : void 0, _desc = _dec23(_class.prototype, "createScriptProcessor", _desc = _dec24(_class.prototype, "createScriptProcessor", _desc = _dec25(_class.prototype, "createScriptProcessor", _desc = _dec26(_class.prototype, "createScriptProcessor", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createScriptProcessor")) || _desc) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createScriptProcessor", _desc) : void 0, _desc = _dec27(_class.prototype, "createAnalyser", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createAnalyser")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createAnalyser", _desc) : void 0, _desc = _dec28(_class.prototype, "createGain", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createGain")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createGain", _desc) : void 0, _desc = _dec29(_class.prototype, "createDelay", _desc = _dec30(_class.prototype, "createDelay", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createDelay")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createDelay", _desc) : void 0, _desc = _dec31(_class.prototype, "createBiquadFilter", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createBiquadFilter")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createBiquadFilter", _desc) : void 0, _desc = _dec32(_class.prototype, "createWaveShaper", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createWaveShaper")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createWaveShaper", _desc) : void 0, _desc = _dec33(_class.prototype, "createPanner", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createPanner")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createPanner", _desc) : void 0, _desc = _dec34(_class.prototype, "createStereoPanner", _desc = _dec35(_class.prototype, "createStereoPanner", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createStereoPanner")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createStereoPanner", _desc) : void 0, _desc = _dec36(_class.prototype, "createConvolver", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createConvolver")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createConvolver", _desc) : void 0, _desc = _dec37(_class.prototype, "createChannelSplitter", _desc = _dec38(_class.prototype, "createChannelSplitter", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createChannelSplitter")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createChannelSplitter", _desc) : void 0, _desc = _dec39(_class.prototype, "createChannelMerger", _desc = _dec40(_class.prototype, "createChannelMerger", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createChannelMerger")) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createChannelMerger", _desc) : void 0, _desc = _dec41(_class.prototype, "createDynamicsCompressor", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createDynamicsCompressor")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createDynamicsCompressor", _desc) : void 0, _desc = _dec42(_class.prototype, "createOscillator", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createOscillator")) || _desc, _desc ? Object.defineProperty(_class.prototype, "createOscillator", _desc) : void 0, _desc = _dec43(_class.prototype, "createPeriodicWave", _desc = _dec44(_class.prototype, "createPeriodicWave", _desc = _dec45(_class.prototype, "createPeriodicWave", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "createPeriodicWave")) || _desc) || _desc) || _desc, _desc ? Object.defineProperty(_class.prototype, "createPeriodicWave", _desc) : void 0, _desc = _dec46(_class.prototype, "__transitionToState", _desc = Object.getOwnPropertyDescriptor(_class.prototype, "__transitionToState")) || _desc, _desc ? Object.defineProperty(_class.prototype, "__transitionToState", _desc) : void 0), _class)); exports.default = AudioContext;