Skip to content

Commit a49eb80

Browse files
committedMay 10, 2021
Disabled Audio Worklet for Safari and Firefox (they have broken module implementation for Audio Worklet)
1 parent 231580a commit a49eb80

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed
 

‎example_effects/superpowered/SuperpoweredWebAudio.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { SuperpoweredGlue } from './SuperpoweredGlueModule.js';
22
import { SuperpoweredTrackLoader } from './SuperpoweredTrackLoaderModule.js';
33

4+
var AudioWorkletHasBrokenModuleImplementation = false;
5+
46
class SuperpoweredWebAudio {
5-
constructor(minimumSamplerate, superpowered) {
7+
constructor(minimumSamplerate, superpowered) { console.log(navigator.userAgent);
8+
AudioWorkletHasBrokenModuleImplementation = (navigator.userAgent.indexOf('AppleWebKit') > -1) || (navigator.userAgent.indexOf('Firefox') > -1);
69
this.Superpowered = superpowered;
710
this.audioContext = null;
811
let AudioContext = window.AudioContext || window.webkitAudioContext || false;
@@ -77,7 +80,7 @@ class SuperpoweredWebAudio {
7780
}
7881

7982
createAudioNode(url, className, callback, onMessageFromAudioScope) {
80-
if (typeof AudioWorkletNode === 'function') {
83+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8184
this.audioContext.audioWorklet.addModule(url).then(() => {
8285
class SuperpoweredNode extends AudioWorkletNode {
8386
constructor(glue, name) {
@@ -122,7 +125,7 @@ class SuperpoweredWebAudio {
122125
}
123126
}
124127

125-
if (typeof AudioWorkletProcessor === 'function') {
128+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor === 'function')) {
126129
class SuperpoweredAudioWorkletProcessor extends AudioWorkletProcessor {
127130
constructor(options) {
128131
super();

‎example_guitardistortion/superpowered/SuperpoweredWebAudio.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { SuperpoweredGlue } from './SuperpoweredGlueModule.js';
22
import { SuperpoweredTrackLoader } from './SuperpoweredTrackLoaderModule.js';
33

4+
var AudioWorkletHasBrokenModuleImplementation = false;
5+
46
class SuperpoweredWebAudio {
5-
constructor(minimumSamplerate, superpowered) {
7+
constructor(minimumSamplerate, superpowered) { console.log(navigator.userAgent);
8+
AudioWorkletHasBrokenModuleImplementation = (navigator.userAgent.indexOf('AppleWebKit') > -1) || (navigator.userAgent.indexOf('Firefox') > -1);
69
this.Superpowered = superpowered;
710
this.audioContext = null;
811
let AudioContext = window.AudioContext || window.webkitAudioContext || false;
@@ -77,7 +80,7 @@ class SuperpoweredWebAudio {
7780
}
7881

7982
createAudioNode(url, className, callback, onMessageFromAudioScope) {
80-
if (typeof AudioWorkletNode === 'function') {
83+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8184
this.audioContext.audioWorklet.addModule(url).then(() => {
8285
class SuperpoweredNode extends AudioWorkletNode {
8386
constructor(glue, name) {
@@ -122,7 +125,7 @@ class SuperpoweredWebAudio {
122125
}
123126
}
124127

125-
if (typeof AudioWorkletProcessor === 'function') {
128+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor === 'function')) {
126129
class SuperpoweredAudioWorkletProcessor extends AudioWorkletProcessor {
127130
constructor(options) {
128131
super();

‎example_timestretching/superpowered/SuperpoweredWebAudio.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { SuperpoweredGlue } from './SuperpoweredGlueModule.js';
22
import { SuperpoweredTrackLoader } from './SuperpoweredTrackLoaderModule.js';
33

4+
var AudioWorkletHasBrokenModuleImplementation = false;
5+
46
class SuperpoweredWebAudio {
5-
constructor(minimumSamplerate, superpowered) {
7+
constructor(minimumSamplerate, superpowered) { console.log(navigator.userAgent);
8+
AudioWorkletHasBrokenModuleImplementation = (navigator.userAgent.indexOf('AppleWebKit') > -1) || (navigator.userAgent.indexOf('Firefox') > -1);
69
this.Superpowered = superpowered;
710
this.audioContext = null;
811
let AudioContext = window.AudioContext || window.webkitAudioContext || false;
@@ -77,7 +80,7 @@ class SuperpoweredWebAudio {
7780
}
7881

7982
createAudioNode(url, className, callback, onMessageFromAudioScope) {
80-
if (typeof AudioWorkletNode === 'function') {
83+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8184
this.audioContext.audioWorklet.addModule(url).then(() => {
8285
class SuperpoweredNode extends AudioWorkletNode {
8386
constructor(glue, name) {
@@ -122,7 +125,7 @@ class SuperpoweredWebAudio {
122125
}
123126
}
124127

125-
if (typeof AudioWorkletProcessor === 'function') {
128+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor === 'function')) {
126129
class SuperpoweredAudioWorkletProcessor extends AudioWorkletProcessor {
127130
constructor(options) {
128131
super();

‎superpowered/SuperpoweredWebAudio.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { SuperpoweredGlue } from './SuperpoweredGlueModule.js';
22
import { SuperpoweredTrackLoader } from './SuperpoweredTrackLoaderModule.js';
33

4+
var AudioWorkletHasBrokenModuleImplementation = false;
5+
46
class SuperpoweredWebAudio {
5-
constructor(minimumSamplerate, superpowered) {
7+
constructor(minimumSamplerate, superpowered) { console.log(navigator.userAgent);
8+
AudioWorkletHasBrokenModuleImplementation = (navigator.userAgent.indexOf('AppleWebKit') > -1) || (navigator.userAgent.indexOf('Firefox') > -1);
69
this.Superpowered = superpowered;
710
this.audioContext = null;
811
let AudioContext = window.AudioContext || window.webkitAudioContext || false;
@@ -77,7 +80,7 @@ class SuperpoweredWebAudio {
7780
}
7881

7982
createAudioNode(url, className, callback, onMessageFromAudioScope) {
80-
if (typeof AudioWorkletNode === 'function') {
83+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8184
this.audioContext.audioWorklet.addModule(url).then(() => {
8285
class SuperpoweredNode extends AudioWorkletNode {
8386
constructor(glue, name) {
@@ -122,7 +125,7 @@ class SuperpoweredWebAudio {
122125
}
123126
}
124127

125-
if (typeof AudioWorkletProcessor === 'function') {
128+
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor === 'function')) {
126129
class SuperpoweredAudioWorkletProcessor extends AudioWorkletProcessor {
127130
constructor(options) {
128131
super();

0 commit comments

Comments
 (0)