SealedConstructs a new default XG variation processor.
The sample rate, in Hertz.
The maximum buffer size the synthesizer can render at once.
Attempting to .process() more samples than this will result in an error.
Indicates if variation is in the insertion mode (CONNECTION).
If false, then variation is in the system mode.
The two connection modes work as following:
system routes all channels via sends (like reverb and chorus).insertion routes a single partNumber channel straight through. Note that variation is processed last, after all insertion effects.The stereo panning of this effect. 1 is hard left, 64 is center, 127 is hard right.
The channel routed through the insertion effect, 0-based.
127 or a value that's above the current channel count means OFF.
ProtectedprocessorThe currently used processor.
The return (level) of the effect. 0 is silence (-Inf dB), 64 is normal (0 dB) and 127 is double the volume (+6 dB).
The amount of variation being sent to the chorus effect.
0 is none, 64 is 100% and 127 is 200%.
The amount of variation being sent to the reverb effect.
0 is none, 64 is 100% and 127 is 200%.
Gets the current 16-bit type of the processor.
The 16-bit ((MSB << 8) | LSB) type of the processor used.
ProtectedmixMixes the staged wet output into the system effect destination, applying return and pan.
The left output buffer.
The right output buffer.
The index to start mixing at into the output buffers.
The amount of samples to mix.
Process the effect in system mode and adds it to the output. Feeds the chorus and reverb buffers according to the send amounts. The DSP's wet is fixed at 100% in this case.
The input buffer to process. It always starts at index 0.
The input buffer to process. It always starts at index 0.
The left output buffer.
The right output buffer.
The left chorus send buffer. It always starts at index 0.
The right chorus send buffer. It always starts at index 0.
The left reverb send buffer. It always starts at index 0.
The right reverb send buffer. It always starts at index 0.
The index to start mixing at into the output buffers.
The amount of samples to mix. This will never be larger than SynthProcessorOptions.maxBufferSize of the parent SpessaSynthProcessor instance.
Process the effect in insertion mode and overwrites it to the input. The DSP honors Dry/Wet in this case.
The input buffer to process. It always starts at index 0.
The input buffer to process. It always starts at index 0.
The amount of samples to mix. This will never be larger than SynthProcessorOptions.maxBufferSize of the parent SpessaSynthProcessor instance.
Sets the given effect parameter to the given value.
The parameter number (0-based).
The value: 14-bit for two-byte params, 7-bit for single-byte params.
Sets the type of the processor. Per XG spec, BASIC EFFECT (LSB = 0) should be used if the exact match is missing.
Type change should reset the parameters. Fallback behavior (no BASIC EFFECT) is up to the implementation.
The 16-bit type value to use.
The default implementation for XGVariationBlock.