summaryrefslogtreecommitdiff
path: root/src/assets/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js')
-rw-r--r--src/assets/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js111
1 files changed, 0 insertions, 111 deletions
diff --git a/src/assets/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js b/src/assets/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js
deleted file mode 100644
index 17e9eb9..0000000
--- a/src/assets/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * @license -------------------------------------------------------------------
- * module: WebAudioShim - Fix naming issues for WebAudioAPI supports
- * src: https://github.com/Dinahmoe/webaudioshim
- * author: Dinahmoe AB
- * -------------------------------------------------------------------
- * Copyright (c) 2012 DinahMoe AB
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-window.AudioContext = window.AudioContext || window.webkitAudioContext || null;
-window.OfflineAudioContext = window.OfflineAudioContext || window.webkitOfflineAudioContext || null;
-
-(function (Context) {
- var isFunction = function (f) {
- return Object.prototype.toString.call(f) === "[object Function]" ||
- Object.prototype.toString.call(f) === "[object AudioContextConstructor]";
- };
- var contextMethods = [
- ["createGainNode", "createGain"],
- ["createDelayNode", "createDelay"],
- ["createJavaScriptNode", "createScriptProcessor"]
- ];
- ///
- var proto;
- var instance;
- var sourceProto;
- ///
- if (!isFunction(Context)) {
- return;
- }
- instance = new Context();
- if (!instance.destination || !instance.sampleRate) {
- return;
- }
- proto = Context.prototype;
- sourceProto = Object.getPrototypeOf(instance.createBufferSource());
-
- if (!isFunction(sourceProto.start)) {
- if (isFunction(sourceProto.noteOn)) {
- sourceProto.start = function (when, offset, duration) {
- switch (arguments.length) {
- case 0:
- throw new Error("Not enough arguments.");
- case 1:
- this.noteOn(when);
- break;
- case 2:
- if (this.buffer) {
- this.noteGrainOn(when, offset, this.buffer.duration - offset);
- } else {
- throw new Error("Missing AudioBuffer");
- }
- break;
- case 3:
- this.noteGrainOn(when, offset, duration);
- }
- };
- }
- }
-
- if (!isFunction(sourceProto.noteOn)) {
- sourceProto.noteOn = sourceProto.start;
- }
-
- if (!isFunction(sourceProto.noteGrainOn)) {
- sourceProto.noteGrainOn = sourceProto.start;
- }
-
- if (!isFunction(sourceProto.stop)) {
- sourceProto.stop = sourceProto.noteOff;
- }
-
- if (!isFunction(sourceProto.noteOff)) {
- sourceProto.noteOff = sourceProto.stop;
- }
-
- contextMethods.forEach(function (names) {
- var name1;
- var name2;
- while (names.length) {
- name1 = names.pop();
- if (isFunction(this[name1])) {
- this[names.pop()] = this[name1];
- } else {
- name2 = names.pop();
- this[name1] = this[name2];
- }
- }
- }, proto);
-})(window.AudioContext); \ No newline at end of file