| /* |
| * @class AddOffsetProcessor |
| * @extends AudioWorkletProcessor |
| * |
| * Just adds a fixed value to the input |
| */ |
| class AddOffsetProcessor extends AudioWorkletProcessor { |
| constructor(options) { |
| super(); |
| |
| this._offset = options.processorOptions.offset; |
| } |
| |
| process(inputs, outputs) { |
| // This processor assumes the node has at least 1 input and 1 output. |
| let input = inputs[0]; |
| let output = outputs[0]; |
| let outputChannel = output[0]; |
| |
| if (input.length > 0) { |
| let inputChannel = input[0]; |
| for (let k = 0; k < outputChannel.length; ++k) |
| outputChannel[k] = inputChannel[k] + this._offset; |
| } else { |
| // No input connected, so pretend it's silence and just fill the |
| // output with the offset value. |
| outputChannel.fill(this._offset); |
| } |
| |
| return true; |
| } |
| } |
| |
| registerProcessor('add-offset-processor', AddOffsetProcessor); |