Struct DrumParameters

Namespace
SpessaSharp.Synthesizer.Engine.Channel
Assembly
SpessaSharp.dll

Represents a single drum instrument's XG/GS parameters.

public readonly record struct DrumParameters : IEquatable<DrumParameters>
Implements
Inherited Members

Constructors

DrumParameters(int, float, int, int, float, float, float, bool, bool)

Represents a single drum instrument's XG/GS parameters.

public DrumParameters(int Pitch, float Gain, int ExclusiveClass, int Pan, float ReverbGain, float ChorusGain, float DelayGain, bool RxNoteOn, bool RxNoteOff)

Parameters

Pitch int

Pitch offset in cents.

Gain float

Gain multiplier.

ExclusiveClass int

Exclusive class override.

Pan int

Pan, 1-64-127, 0 is random. This adds to the channel pan!

ReverbGain float

Reverb multiplier.

ChorusGain float

Chorus multiplier.

DelayGain float

Delay multiplier.

RxNoteOn bool

If note on should be received.

RxNoteOff bool

If note off should be received. Note: Due to the way sound banks implement drums (as 100s release time), this means killing the voice on note off, not releasing it.

Fields

Default

public static readonly DrumParameters Default

Field Value

DrumParameters

Properties

ChorusGain

Chorus multiplier.

public float ChorusGain { get; init; }

Property Value

float

DelayGain

Delay multiplier.

public float DelayGain { get; init; }

Property Value

float

ExclusiveClass

Exclusive class override.

public int ExclusiveClass { get; init; }

Property Value

int

Gain

Gain multiplier.

public float Gain { get; init; }

Property Value

float

Pan

Pan, 1-64-127, 0 is random. This adds to the channel pan!

public int Pan { get; init; }

Property Value

int

Pitch

Pitch offset in cents.

public int Pitch { get; init; }

Property Value

int

ReverbGain

Reverb multiplier.

public float ReverbGain { get; init; }

Property Value

float

RxNoteOff

If note off should be received. Note: Due to the way sound banks implement drums (as 100s release time), this means killing the voice on note off, not releasing it.

public bool RxNoteOff { get; init; }

Property Value

bool

RxNoteOn

If note on should be received.

public bool RxNoteOn { get; init; }

Property Value

bool