@@ -73,13 +73,13 @@ class SuperpoweredWebAudio {
73
73
} ) ;
74
74
}
75
75
76
- async createAudioNodeAsync ( url , className , onMessageFromAudioScope ) {
76
+ async createAudioNodeAsync ( url , className , onMessageFromAudioScope , options ) {
77
77
return new Promise ( ( resolve , reject ) => {
78
- this . createAudioNode ( url , className , resolve , onMessageFromAudioScope ) ;
78
+ this . createAudioNode ( url , className , resolve , onMessageFromAudioScope , options ) ;
79
79
} ) ;
80
80
}
81
81
82
- createAudioNode ( url , className , callback , onMessageFromAudioScope ) {
82
+ createAudioNode ( url , className , callback , onMessageFromAudioScope , options ) {
83
83
if ( ! AudioWorkletHasBrokenModuleImplementation && ( typeof AudioWorkletNode === 'function' ) ) {
84
84
this . audioContext . audioWorklet . addModule ( url ) . then ( ( ) => {
85
85
class SuperpoweredNode extends AudioWorkletNode {
@@ -112,7 +112,7 @@ class SuperpoweredWebAudio {
112
112
node . samplerate = this . audioContext . sampleRate ;
113
113
node . inputBuffer = this . Superpowered . createFloatArray ( 1024 * 2 ) ;
114
114
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 ) ;
116
116
node . sendMessageToAudioScope = function ( message , transfer = 0 ) { node . processor . onMessageFromMainScope ( message ) ; }
117
117
node . onaudioprocess = function ( e ) {
118
118
node . processor . Superpowered . bufferToWASM ( node . inputBuffer , e . inputBuffer ) ;
@@ -133,6 +133,9 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
133
133
this . port . onmessage = ( event ) => { this . onMessageFromMainScope ( event . data ) ; } ;
134
134
this . ok = false ;
135
135
this . samplerate = options . processorOptions . samplerate ;
136
+
137
+ this . audioPath = options . audioPath ;
138
+
136
139
this . Superpowered = new SuperpoweredGlue ( ) ;
137
140
this . Superpowered . loadFromArrayBuffer ( options . processorOptions . wasmCode , this ) ;
138
141
}
@@ -160,10 +163,13 @@ if (!AudioWorkletHasBrokenModuleImplementation && (typeof AudioWorkletProcessor
160
163
SuperpoweredWebAudio . AudioWorkletProcessor = SuperpoweredAudioWorkletProcessor ;
161
164
} else {
162
165
class SuperpoweredAudioWorkletProcessor {
163
- constructor ( sp , oma , sr ) {
166
+ constructor ( sp , oma , sr , ap ) {
164
167
this . loader = new SuperpoweredTrackLoader ( this ) ;
165
168
this . Superpowered = sp ;
166
169
this . samplerate = sr ;
170
+
171
+ this . audioPath = ap ;
172
+
167
173
this . onMessageFromAudioScope = oma ;
168
174
this . onReady ( ) ;
169
175
}
0 commit comments