Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8f5a601

Browse files
Updated to allow passing in 'audioPath' parameter
1 parent a49eb80 commit 8f5a601

File tree

8 files changed

+49
-25
lines changed

8 files changed

+49
-25
lines changed

‎example_effects/superpowered/SuperpoweredWebAudio.js‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ class SuperpoweredWebAudio {
7373
});
7474
}
7575

76-
async createAudioNodeAsync(url, className, onMessageFromAudioScope) {
76+
async createAudioNodeAsync(url, className, onMessageFromAudioScope,options) {
7777
return new Promise((resolve, reject) => {
78-
this.createAudioNode(url, className, resolve, onMessageFromAudioScope);
78+
this.createAudioNode(url, className, resolve, onMessageFromAudioScope,options);
7979
});
8080
}
8181

82-
createAudioNode(url, className, callback, onMessageFromAudioScope) {
82+
createAudioNode(url, className, callback, onMessageFromAudioScope,options) {
8383
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8484
this.audioContext.audioWorklet.addModule(url).then(() => {
8585
class SuperpoweredNode extends AudioWorkletNode {
@@ -112,7 +112,7 @@ class SuperpoweredWebAudio {
112112
node.samplerate = this.audioContext.sampleRate;
113113
node.inputBuffer = this.Superpowered.createFloatArray(1024 * 2);
114114
node.outputBuffer = this.Superpowered.createFloatArray(1024 * 2);
115-
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, node.samplerate);
115+
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, options.sampleRate||node.samplerate,options.audioPath);
116116
node.sendMessageToAudioScope = function(message, transfer = 0) { node.processor.onMessageFromMainScope(message); }
117117
node.onaudioprocess = function(e) {
118118
node.processor.Superpowered.bufferToWASM(node.inputBuffer, e.inputBuffer);
@@ -133,6 +133,9 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
133133
this.port.onmessage = (event) => { this.onMessageFromMainScope(event.data); };
134134
this.ok = false;
135135
this.samplerate = options.processorOptions.samplerate;
136+
137+
this.audioPath = options.audioPath;
138+
136139
this.Superpowered = new SuperpoweredGlue();
137140
this.Superpowered.loadFromArrayBuffer(options.processorOptions.wasmCode, this);
138141
}
@@ -160,10 +163,13 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
160163
SuperpoweredWebAudio.AudioWorkletProcessor = SuperpoweredAudioWorkletProcessor;
161164
} else {
162165
class SuperpoweredAudioWorkletProcessor {
163-
constructor(sp, oma, sr) {
166+
constructor(sp, oma, sr,ap) {
164167
this.loader = new SuperpoweredTrackLoader(this);
165168
this.Superpowered = sp;
166169
this.samplerate = sr;
170+
171+
this.audioPath = ap;
172+
167173
this.onMessageFromAudioScope = oma;
168174
this.onReady();
169175
}

‎example_guitardistortion/main.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ async function startSample() {
161161
content.innerText = 'Creating the audio context and node...';
162162
webaudioManager = new SuperpoweredWebAudio(44100, Superpowered);
163163
let currentPath = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/'));
164-
audioNode = await webaudioManager.createAudioNodeAsync(currentPath + '/processor.js', 'MyProcessor', onMessageFromAudioScope);
164+
audioNode = await webaudioManager.createAudioNodeAsync(currentPath + '/processor.js', 'MyProcessor', onMessageFromAudioScope,{audioPath: '../track.mp3'});
165165

166166
// audioNode -> audioContext.destination (audio output)
167167
webaudioManager.audioContext.suspend();
@@ -184,7 +184,7 @@ async function startInput() {
184184
if (!micStream) return;
185185

186186
let currentPath = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/'));
187-
audioNode = await webaudioManager.createAudioNodeAsync(currentPath + '/processor_live.js', 'MyProcessor', onMessageFromAudioScope);
187+
audioNode = await webaudioManager.createAudioNodeAsync(currentPath + '/processor_live.js', 'MyProcessor', onMessageFromAudioScope,{audioPath: '../track.mp3'});
188188
let audioInput = webaudioManager.audioContext.createMediaStreamSource(micStream);
189189
audioInput.connect(audioNode);
190190
audioNode.connect(webaudioManager.audioContext.destination);

‎example_guitardistortion/processor.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class MyProcessor extends SuperpoweredWebAudio.AudioWorkletProcessor {
88
this.distortion.enabled = true;
99
// the player
1010
this.player = new this.Superpowered.AdvancedAudioPlayer(this.samplerate, 2, 2, 0, 0.501, 2, false);
11-
SuperpoweredTrackLoader.downloadAndDecode('../track.mp3', this);
11+
SuperpoweredTrackLoader.downloadAndDecode(this.audioPath, this);
1212
}
1313

1414
onMessageFromMainScope(message) {

‎example_guitardistortion/superpowered/SuperpoweredWebAudio.js‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ class SuperpoweredWebAudio {
7373
});
7474
}
7575

76-
async createAudioNodeAsync(url, className, onMessageFromAudioScope) {
76+
async createAudioNodeAsync(url, className, onMessageFromAudioScope,options) {
7777
return new Promise((resolve, reject) => {
78-
this.createAudioNode(url, className, resolve, onMessageFromAudioScope);
78+
this.createAudioNode(url, className, resolve, onMessageFromAudioScope,options);
7979
});
8080
}
8181

82-
createAudioNode(url, className, callback, onMessageFromAudioScope) {
82+
createAudioNode(url, className, callback, onMessageFromAudioScope,options) {
8383
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8484
this.audioContext.audioWorklet.addModule(url).then(() => {
8585
class SuperpoweredNode extends AudioWorkletNode {
@@ -112,7 +112,7 @@ class SuperpoweredWebAudio {
112112
node.samplerate = this.audioContext.sampleRate;
113113
node.inputBuffer = this.Superpowered.createFloatArray(1024 * 2);
114114
node.outputBuffer = this.Superpowered.createFloatArray(1024 * 2);
115-
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, node.samplerate);
115+
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, options.sampleRate||node.samplerate,options.audioPath);
116116
node.sendMessageToAudioScope = function(message, transfer = 0) { node.processor.onMessageFromMainScope(message); }
117117
node.onaudioprocess = function(e) {
118118
node.processor.Superpowered.bufferToWASM(node.inputBuffer, e.inputBuffer);
@@ -133,6 +133,9 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
133133
this.port.onmessage = (event) => { this.onMessageFromMainScope(event.data); };
134134
this.ok = false;
135135
this.samplerate = options.processorOptions.samplerate;
136+
137+
this.audioPath = options.audioPath;
138+
136139
this.Superpowered = new SuperpoweredGlue();
137140
this.Superpowered.loadFromArrayBuffer(options.processorOptions.wasmCode, this);
138141
}
@@ -160,10 +163,13 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
160163
SuperpoweredWebAudio.AudioWorkletProcessor = SuperpoweredAudioWorkletProcessor;
161164
} else {
162165
class SuperpoweredAudioWorkletProcessor {
163-
constructor(sp, oma, sr) {
166+
constructor(sp, oma, sr,ap) {
164167
this.loader = new SuperpoweredTrackLoader(this);
165168
this.Superpowered = sp;
166169
this.samplerate = sr;
170+
171+
this.audioPath = ap;
172+
167173
this.onMessageFromAudioScope = oma;
168174
this.onReady();
169175
}

‎example_timestretching/main.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ async function start() {
7474
content.innerText = 'Creating the audio context and node...';
7575
webaudioManager = new SuperpoweredWebAudio(44100, Superpowered);
7676
let currentPath = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/'));
77-
audioNode = await webaudioManager.createAudioNodeAsync(currentPath + '/processor.js', 'MyProcessor', onMessageFromAudioScope);
77+
audioNode = await webaudioManager.createAudioNodeAsync(currentPath + '/processor.js', 'MyProcessor', onMessageFromAudioScope,{audioPath: '../track.mp3'});
7878

7979
// audioNode -> audioContext.destination (audio output)
8080
webaudioManager.audioContext.suspend();

‎example_timestretching/processor.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class MyProcessor extends SuperpoweredWebAudio.AudioWorkletProcessor {
44
// runs after the constructor
55
onReady() {
66
this.player = new this.Superpowered.AdvancedAudioPlayer(this.samplerate, 2, 2, 0, 0.501, 2, false);
7-
SuperpoweredTrackLoader.downloadAndDecode('../track.mp3', this);
7+
SuperpoweredTrackLoader.downloadAndDecode(this.audioPath, this);
88
}
99

1010
onMessageFromMainScope(message) {

‎example_timestretching/superpowered/SuperpoweredWebAudio.js‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ class SuperpoweredWebAudio {
7373
});
7474
}
7575

76-
async createAudioNodeAsync(url, className, onMessageFromAudioScope) {
76+
async createAudioNodeAsync(url, className, onMessageFromAudioScope,options) {
7777
return new Promise((resolve, reject) => {
78-
this.createAudioNode(url, className, resolve, onMessageFromAudioScope);
78+
this.createAudioNode(url, className, resolve, onMessageFromAudioScope,options);
7979
});
8080
}
8181

82-
createAudioNode(url, className, callback, onMessageFromAudioScope) {
82+
createAudioNode(url, className, callback, onMessageFromAudioScope,options) {
8383
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8484
this.audioContext.audioWorklet.addModule(url).then(() => {
8585
class SuperpoweredNode extends AudioWorkletNode {
@@ -112,7 +112,7 @@ class SuperpoweredWebAudio {
112112
node.samplerate = this.audioContext.sampleRate;
113113
node.inputBuffer = this.Superpowered.createFloatArray(1024 * 2);
114114
node.outputBuffer = this.Superpowered.createFloatArray(1024 * 2);
115-
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, node.samplerate);
115+
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, options.sampleRate||node.samplerate,options.audioPath);
116116
node.sendMessageToAudioScope = function(message, transfer = 0) { node.processor.onMessageFromMainScope(message); }
117117
node.onaudioprocess = function(e) {
118118
node.processor.Superpowered.bufferToWASM(node.inputBuffer, e.inputBuffer);
@@ -133,6 +133,9 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
133133
this.port.onmessage = (event) => { this.onMessageFromMainScope(event.data); };
134134
this.ok = false;
135135
this.samplerate = options.processorOptions.samplerate;
136+
137+
this.audioPath = options.audioPath;
138+
136139
this.Superpowered = new SuperpoweredGlue();
137140
this.Superpowered.loadFromArrayBuffer(options.processorOptions.wasmCode, this);
138141
}
@@ -160,10 +163,13 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
160163
SuperpoweredWebAudio.AudioWorkletProcessor = SuperpoweredAudioWorkletProcessor;
161164
} else {
162165
class SuperpoweredAudioWorkletProcessor {
163-
constructor(sp, oma, sr) {
166+
constructor(sp, oma, sr,ap) {
164167
this.loader = new SuperpoweredTrackLoader(this);
165168
this.Superpowered = sp;
166169
this.samplerate = sr;
170+
171+
this.audioPath = ap;
172+
167173
this.onMessageFromAudioScope = oma;
168174
this.onReady();
169175
}

‎superpowered/SuperpoweredWebAudio.js‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ class SuperpoweredWebAudio {
7373
});
7474
}
7575

76-
async createAudioNodeAsync(url, className, onMessageFromAudioScope) {
76+
async createAudioNodeAsync(url, className, onMessageFromAudioScope,options) {
7777
return new Promise((resolve, reject) => {
78-
this.createAudioNode(url, className, resolve, onMessageFromAudioScope);
78+
this.createAudioNode(url, className, resolve, onMessageFromAudioScope,options);
7979
});
8080
}
8181

82-
createAudioNode(url, className, callback, onMessageFromAudioScope) {
82+
createAudioNode(url, className, callback, onMessageFromAudioScope,options) {
8383
if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletNode === 'function')) {
8484
this.audioContext.audioWorklet.addModule(url).then(() => {
8585
class SuperpoweredNode extends AudioWorkletNode {
@@ -112,7 +112,7 @@ class SuperpoweredWebAudio {
112112
node.samplerate = this.audioContext.sampleRate;
113113
node.inputBuffer = this.Superpowered.createFloatArray(1024 * 2);
114114
node.outputBuffer = this.Superpowered.createFloatArray(1024 * 2);
115-
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, node.samplerate);
115+
node.processor = new processorModule.default(this.Superpowered, onMessageFromAudioScope, options.sampleRate||node.samplerate,options.audioPath);
116116
node.sendMessageToAudioScope = function(message, transfer = 0) { node.processor.onMessageFromMainScope(message); }
117117
node.onaudioprocess = function(e) {
118118
node.processor.Superpowered.bufferToWASM(node.inputBuffer, e.inputBuffer);
@@ -133,6 +133,9 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
133133
this.port.onmessage = (event) => { this.onMessageFromMainScope(event.data); };
134134
this.ok = false;
135135
this.samplerate = options.processorOptions.samplerate;
136+
137+
this.audioPath = options.audioPath;
138+
136139
this.Superpowered = new SuperpoweredGlue();
137140
this.Superpowered.loadFromArrayBuffer(options.processorOptions.wasmCode, this);
138141
}
@@ -160,10 +163,13 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
160163
SuperpoweredWebAudio.AudioWorkletProcessor = SuperpoweredAudioWorkletProcessor;
161164
} else {
162165
class SuperpoweredAudioWorkletProcessor {
163-
constructor(sp, oma, sr) {
166+
constructor(sp, oma, sr,ap) {
164167
this.loader = new SuperpoweredTrackLoader(this);
165168
this.Superpowered = sp;
166169
this.samplerate = sr;
170+
171+
this.audioPath = ap;
172+
167173
this.onMessageFromAudioScope = oma;
168174
this.onReady();
169175
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /