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.
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.
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.
Resets this block to default values, including the processor type.
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 Variation section provides a wealth of additional effects. It features some of the same effects found in the Reverb, Chorus and Insertion sections. This is not mere redundancy; it allows you to use two types of Reverb, Chorus or other effects on different Voices.
The Variation section of effects can be applied either to a single selected Part or to all Parts, depending on the connection setting: Insertion or System.
This is a Yamaha XG-compatible variation interface.
It is used when GlobalMIDIParameter.system is
xg.SpessaSynthProcessor allows you to supply a custom variation block. A custom variation block must implement this interface.
Editing the parameters
Editing the parameters can be done via XG system exclusive messages.