spessasynth_core documentation
    Preparing search index...

    Interface XGInsertionBlock

    The Insertion effects provide additional effects for processing individual Parts.

    The Insertion effects are set up for Insertion routing and can be applied only to a single selected Part.

    SpessaSynthProcessor currently has 4 insertion effects. More than one effect can be applied to a single Part (channel).

    This is a Yamaha XG-compatible insertion interface.

    It is used when GlobalMIDIParameter.system is xg.

    SpessaSynthProcessor allows you to supply a custom insertion block. A custom insertion block must implement this interface.

    Editing the parameters can be done via XG system exclusive messages.

    interface XGInsertionBlock {
        partNumber: number;
        applySnapshot(snapshot: XGInsertionBlockSnapshot): void;
        getSnapshot(): XGInsertionBlockSnapshot;
        getType(): number;
        processInsertion(
            inputLeft: Float32Array,
            inputRight: Float32Array,
            sampleCount: number,
        ): void;
        reset(): void;
        setParameter(param: number, value: number): void;
        setType(type: number): void;
    }

    Hierarchy (View Summary)

    Implemented by

    Index
    partNumber: number

    The channel routed through the insertion effect, 0-based.

    127 or a value that's above the current channel count means OFF.

    • Process the effect in insertion mode and overwrites it to the input. The DSP honors Dry/Wet in this case.

      Parameters

      • inputLeft: Float32Array

        The input buffer to process. It always starts at index 0.

      • inputRight: Float32Array

        The input buffer to process. It always starts at index 0.

      • sampleCount: number

        The amount of samples to mix. This will never be larger than SynthProcessorOptions.maxBufferSize of the parent SpessaSynthProcessor instance.

      Returns void