/**
* @class ParamSizeProcessor
* @extends AudioWorkletProcessor
*
* This processor is a source node which basically outputs the size of the
* AudioParam array for each render quantum.
*/
class ParamSizeProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
return [{name: 'param'}];
}
constructor() {
super();
}
process(inputs, outputs, parameters) {
let output = outputs[0];
let param = parameters.param;
for (let channel = 0; channel < output.length; ++channel) {
output[channel].fill(param.length);
}
return true;
}
}
registerProcessor('param-size', ParamSizeProcessor);