Table of Contents

Struct FmxModuleHandle

Namespace
SunSharp.Modules
Assembly
SunSharp.dll

5-operator Frequency Modulation (FM) Synthesizer.

public readonly struct FmxModuleHandle : IFmxModuleHandle, ITypedModuleHandle, IGenericSynthModuleHandle
Implements

Constructors

FmxModuleHandle(SynthModuleHandle)

public FmxModuleHandle(SynthModuleHandle moduleHandle)

Parameters

moduleHandle SynthModuleHandle

Properties

Id

Gets the ID of the synthesizer module.

public int Id { get; }

Property Value

int

ModuleHandle

public SynthModuleHandle ModuleHandle { get; }

Property Value

SynthModuleHandle

Slot

Gets the slot associated with this instance.

public ISlot Slot { get; }

Property Value

ISlot

Methods

AssertCorrectHandleType()

Throws an exception if the underlying module is not of the correct type.

public void AssertCorrectHandleType()

Exceptions

IncorrectSynthHandleTypeException

Thrown if the underlying module is not of the correct type.

ConnectInput(SynthModuleHandle)

Connect the input of this module to the output of another module.

public void ConnectInput(SynthModuleHandle targetModule)

Parameters

targetModule SynthModuleHandle

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

ConnectOutput(SynthModuleHandle)

Connect the output of this module to the input of another module.

public void ConnectOutput(SynthModuleHandle targetModule)

Parameters

targetModule SynthModuleHandle

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

DisconnectInput(SynthModuleHandle)

Disconnect the input of this module from the output of another module.

public void DisconnectInput(SynthModuleHandle targetModule)

Parameters

targetModule SynthModuleHandle

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

DisconnectOutput(SynthModuleHandle)

Disconnect the output of this module from the input of another module.

public void DisconnectOutput(SynthModuleHandle targetModule)

Parameters

targetModule SynthModuleHandle

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

GetAdsrSmoothTransitions()

Original name: 7 'ADSR smooth transitions'

public AdsrSmoothTransitions GetAdsrSmoothTransitions()

Returns

AdsrSmoothTransitions

GetChannels()

Original name: 4 'Channels'

public ChannelsInverted GetChannels()

Returns

ChannelsInverted

GetColor()

Get the module color.

public (byte, byte, byte) GetColor()

Returns

(byte R, byte G, byte B)

RGB color tuple (r, g, b).

Remarks

GetEnvelopeGain(ValueScalingMode)

Value range: displayed: 0 to 8000, real: 0 to 8000 Original name: 118 'Envelope gain'

public int GetEnvelopeGain(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetExists()

Check if a module exists.

public bool GetExists()

Returns

bool

true if module exists.

Remarks

GetFineTune()

Get the module fine tune and relative note values.

public FineTunePair GetFineTune()

Returns

FineTunePair

Fine tune pair containing fine tune value and relative note.

Remarks

GetFlags()

Get the module flags.

public ModuleFlags GetFlags()

Returns

ModuleFlags

Module flags indicating existence, type, state, and connections.

Remarks

GetInputCustomWaveform()

Original name: 6 'Input -> Custom waveform'

public FmxCustomWaveform GetInputCustomWaveform()

Returns

FmxCustomWaveform

GetInputModules()

Get the array of input modules connected to this module.

public SynthModuleHandle[] GetInputModules()

Returns

SynthModuleHandle[]

Array of connected input module numbers.

Remarks

GetInputOperator(ValueScalingMode)

Original name: 5 'Input -> Operator #'

public int GetInputOperator(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetInputs()

Get the array of input module numbers connected to this module.

public int[] GetInputs()

Returns

int[]

Array of connected input module numbers.

Remarks

GetModuleType()

Returns the module type. If the module does not exist, returns null. If the module type is unknown (due to library mismatch or otherwise), returns Unknown.

public SynthModuleType? GetModuleType()

Returns

SynthModuleType?

GetName()

Get the module name.

public string? GetName()

Returns

string

Module name, or null if unavailable.

Remarks

GetNoiseFilterOff32768(ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 8 'Noise filter (32768 - OFF)'

public int GetNoiseFilterOff32768(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetOperatorAttack(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 14.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 14-18 '1 Attack'

public int GetOperatorAttack(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorAttackCurve(int)

This method accesses one of 5 grouped controllers starting at controller 34.
Original name pattern: 34-38 '1 Attack curve'

public AdsrCurveType GetOperatorAttackCurve(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

AdsrCurveType

GetOperatorConstantPitch(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 94.
Value range: displayed: -8192 to 8192, real: 0 to 16384 Original name pattern: 94-98 '1 Constant pitch'

public int GetOperatorConstantPitch(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorDecay(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 19.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 19-23 '1 Decay'

public int GetOperatorDecay(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorDecayCurve(int)

This method accesses one of 5 grouped controllers starting at controller 39.
Original name pattern: 39-43 '1 Decay curve'

public AdsrCurveType GetOperatorDecayCurve(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

AdsrCurveType

GetOperatorEnvelopeScalingPerKey(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 59.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 59-63 '1 Envelope scaling per key'

public int GetOperatorEnvelopeScalingPerKey(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorFeedback(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 104.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 104-108 '1 Feedback'

public int GetOperatorFeedback(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorFrequencyMultiply(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 89.
Value range: displayed: 0 to 32000, real: 0 to 32000 Original name pattern: 89-93 '1 Freq multiply'

public int GetOperatorFrequencyMultiply(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorModulationType(int)

This method accesses one of 5 grouped controllers starting at controller 109.
Original name pattern: 109-113 '1 Modulation type'

public FmxModulationType GetOperatorModulationType(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

FmxModulationType

GetOperatorNoise(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 79.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 79-83 '1 Noise'

public int GetOperatorNoise(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorPhase(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 84.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 84-88 '1 Phase'

public int GetOperatorPhase(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorRelease(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 29.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 29-33 '1 Release'

public int GetOperatorRelease(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorReleaseCurve(int)

This method accesses one of 5 grouped controllers starting at controller 44.
Original name pattern: 44-48 '1 Release curve'

public AdsrCurveType GetOperatorReleaseCurve(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

AdsrCurveType

GetOperatorSelfModulation(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 99.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 99-103 '1 Self-modulation'

public int GetOperatorSelfModulation(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorSustain(int)

This method accesses one of 5 grouped controllers starting at controller 49.
Original name pattern: 49-53 '1 Sustain'

public AdsrSustainMode GetOperatorSustain(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

AdsrSustainMode

GetOperatorSustainLevel(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 24.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 24-28 '1 Sustain level'

public int GetOperatorSustainLevel(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorSustainPedal(int)

This method accesses one of 5 grouped controllers starting at controller 54.
Original name pattern: 54-58 '1 Sustain pedal'

public Toggle GetOperatorSustainPedal(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

Toggle

GetOperatorVelocitySensitivity(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 69.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 69-73 '1 Velocity sensitivity'

public int GetOperatorVelocitySensitivity(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorVolume(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 9.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 9-13 '1 Volume'

public int GetOperatorVolume(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorVolumeScalingPerKey(int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 64.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 64-68 '1 Volume scaling per key'

public int GetOperatorVolumeScalingPerKey(int index, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

valueScalingMode ValueScalingMode

Returns

int

GetOperatorWaveform(int)

This method accesses one of 5 grouped controllers starting at controller 74.
Original name pattern: 74-78 '1 Waveform'

public FmxWaveform GetOperatorWaveform(int index)

Parameters

index int

Index of the controller in the group (0-4)

Returns

FmxWaveform

GetOutputMode1(ValueScalingMode)

Original name: 114 '1 Output mode'

public int GetOutputMode1(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetOutputMode2(ValueScalingMode)

Original name: 115 '2 Output mode'

public int GetOutputMode2(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetOutputMode3(ValueScalingMode)

Original name: 116 '3 Output mode'

public int GetOutputMode3(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetOutputMode4(ValueScalingMode)

Original name: 117 '4 Output mode'

public int GetOutputMode4(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetOutputModules()

Gets the array of output modules connected to this module.

public SynthModuleHandle[] GetOutputModules()

Returns

SynthModuleHandle[]

Array of connected output module numbers.

Remarks

GetOutputs()

Get the array of output module numbers connected from this module.

public int[] GetOutputs()

Returns

int[]

Array of connected output module numbers.

Remarks

GetPanning(ValueScalingMode)

Value range: displayed: -128 to 128, real: 0 to 256 Original name: 1 'Panning'

public int GetPanning(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetPolyphony(ValueScalingMode)

Original name: 3 'Polyphony'

public int GetPolyphony(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetPosition()

Get the module position on the canvas.

public (int, int) GetPosition()

Returns

(int x, int y)

Tuple containing X and Y coordinates.

Remarks

GetSampleRate()

Original name: 2 'Sample rate'

public FmxSampleRate GetSampleRate()

Returns

FmxSampleRate

GetVolume(ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 0 'Volume'

public int GetVolume(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

IsCorrectHandleType()

Determines whether the underlying module is of the correct type.

public bool IsCorrectHandleType()

Returns

bool

MakeAdsrSmoothTransitionsEvent(AdsrSmoothTransitions)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeAdsrSmoothTransitionsEvent(AdsrSmoothTransitions value)

Parameters

value AdsrSmoothTransitions

Returns

PatternEvent

MakeChannelsEvent(ChannelsInverted)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeChannelsEvent(ChannelsInverted value)

Parameters

value ChannelsInverted

Returns

PatternEvent

MakeEnvelopeGainEvent(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is mapped from displayed range (0 to 8000) to column range (0 to 0x8000). Out of range values are clamped.

public PatternEvent MakeEnvelopeGainEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeEvent(Note, byte?, byte?, Effect, ushort)

Creates a new generic pattern event with optional parameters for flexible event construction.

public PatternEvent MakeEvent(Note note = default, byte? velocity = null, byte? controller = null, Effect effect = Effect.None, ushort value = 0)

Parameters

note Note
Note value. Allows for explicit note commands.
velocity byte?
Note velocity. Returns null when default velocity is used. Automatically handles the +1 offset used in raw data.
controller byte?
Controller identifier (0-based). Returns null when no controller is specified. Module controllers: 0-126 (raw data: 1-127). MIDI controllers: 127+ (raw data: 0x80+). Automatically handles the +1 offset used in raw data.
effect Effect
Pattern event effect code.
value ushort
Parameter value for controller or effect (16-bit unsigned integer).

Range: 0-32768 (0x8000) for controllers, 0-65535 (0xFFFF) for effects.

For pitch commands: 0x0000 = highest pitch, 0x7800 = C0, 0x100 = one semitone.

Returns

PatternEvent

A new PatternEvent with the specified fields.

Remarks

This method provides maximum flexibility for creating events. For common scenarios, consider using specific factory methods like NoteEvent(Note, int?, byte?), ControllerEvent(int, byte, ushort), etc.

MakeInputCustomWaveformEvent(FmxCustomWaveform)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeInputCustomWaveformEvent(FmxCustomWaveform value)

Parameters

value FmxCustomWaveform

Returns

PatternEvent

MakeInputOperatorEvent(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeInputOperatorEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeNoiseFilterOff32768Event(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is mapped from displayed range (0 to 32768) to column range (0 to 0x8000). Out of range values are clamped.

public PatternEvent MakeNoiseFilterOff32768Event(int value)

Parameters

value int

Returns

PatternEvent

MakeNoteEvent(Note, byte?)

Creates a note event that triggers a note on the specified module.

public PatternEvent MakeNoteEvent(Note note, byte? velocity = null)

Parameters

note Note
Note value. Allows for explicit note commands.
velocity byte?
Note velocity. Returns null when default velocity is used. Automatically handles the +1 offset used in raw data.

Returns

PatternEvent

MakeOperatorAttackCurveEvent(int, AdsrCurveType)

This method accesses one of 5 grouped controllers starting at controller 34.
Original name pattern: 34-38 '1 Attack curve' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorAttackCurveEvent(int index, AdsrCurveType value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrCurveType

Returns

PatternEvent

MakeOperatorAttackEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 14.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 14-18 '1 Attack' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorAttackEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorConstantPitchEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 94.
Value range: displayed: -8192 to 8192, real: 0 to 16384 Original name pattern: 94-98 '1 Constant pitch' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorConstantPitchEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorDecayCurveEvent(int, AdsrCurveType)

This method accesses one of 5 grouped controllers starting at controller 39.
Original name pattern: 39-43 '1 Decay curve' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorDecayCurveEvent(int index, AdsrCurveType value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrCurveType

Returns

PatternEvent

MakeOperatorDecayEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 19.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 19-23 '1 Decay' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorDecayEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorEnvelopeScalingPerKeyEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 59.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 59-63 '1 Envelope scaling per key' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorEnvelopeScalingPerKeyEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorFeedbackEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 104.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 104-108 '1 Feedback' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorFeedbackEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorFrequencyMultiplyEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 89.
Value range: displayed: 0 to 32000, real: 0 to 32000 Original name pattern: 89-93 '1 Freq multiply' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorFrequencyMultiplyEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorModulationTypeEvent(int, FmxModulationType)

This method accesses one of 5 grouped controllers starting at controller 109.
Original name pattern: 109-113 '1 Modulation type' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorModulationTypeEvent(int index, FmxModulationType value)

Parameters

index int

Index of the controller in the group (0-4)

value FmxModulationType

Returns

PatternEvent

MakeOperatorNoiseEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 79.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 79-83 '1 Noise' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorNoiseEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorPhaseEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 84.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 84-88 '1 Phase' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorPhaseEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorReleaseCurveEvent(int, AdsrCurveType)

This method accesses one of 5 grouped controllers starting at controller 44.
Original name pattern: 44-48 '1 Release curve' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorReleaseCurveEvent(int index, AdsrCurveType value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrCurveType

Returns

PatternEvent

MakeOperatorReleaseEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 29.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 29-33 '1 Release' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorReleaseEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorSelfModulationEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 99.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 99-103 '1 Self-modulation' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorSelfModulationEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorSustainEvent(int, AdsrSustainMode)

This method accesses one of 5 grouped controllers starting at controller 49.
Original name pattern: 49-53 '1 Sustain' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorSustainEvent(int index, AdsrSustainMode value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrSustainMode

Returns

PatternEvent

MakeOperatorSustainLevelEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 24.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 24-28 '1 Sustain level' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorSustainLevelEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorSustainPedalEvent(int, Toggle)

This method accesses one of 5 grouped controllers starting at controller 54.
Original name pattern: 54-58 '1 Sustain pedal' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorSustainPedalEvent(int index, Toggle value)

Parameters

index int

Index of the controller in the group (0-4)

value Toggle

Returns

PatternEvent

MakeOperatorVelocitySensitivityEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 69.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 69-73 '1 Velocity sensitivity' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorVelocitySensitivityEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorVolumeEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 9.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 9-13 '1 Volume' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorVolumeEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorVolumeScalingPerKeyEvent(int, int)

This method accesses one of 5 grouped controllers starting at controller 64.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 64-68 '1 Volume scaling per key' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorVolumeScalingPerKeyEvent(int index, int value)

Parameters

index int

Index of the controller in the group (0-4)

value int

Returns

PatternEvent

MakeOperatorWaveformEvent(int, FmxWaveform)

This method accesses one of 5 grouped controllers starting at controller 74.
Original name pattern: 74-78 '1 Waveform' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public PatternEvent MakeOperatorWaveformEvent(int index, FmxWaveform value)

Parameters

index int

Index of the controller in the group (0-4)

value FmxWaveform

Returns

PatternEvent

MakeOutputMode1Event(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeOutputMode1Event(int value)

Parameters

value int

Returns

PatternEvent

MakeOutputMode2Event(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeOutputMode2Event(int value)

Parameters

value int

Returns

PatternEvent

MakeOutputMode3Event(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeOutputMode3Event(int value)

Parameters

value int

Returns

PatternEvent

MakeOutputMode4Event(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeOutputMode4Event(int value)

Parameters

value int

Returns

PatternEvent

MakePanningEvent(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is mapped from displayed range (-128 to 128) to column range (0 to 0x8000). Out of range values are clamped.

public PatternEvent MakePanningEvent(int value)

Parameters

value int

Returns

PatternEvent

MakePolyphonyEvent(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakePolyphonyEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeSampleRateEvent(FmxSampleRate)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is taken as is, only clamped to column value range.

public PatternEvent MakeSampleRateEvent(FmxSampleRate value)

Parameters

value FmxSampleRate

Returns

PatternEvent

MakeSetControllerValueEvent(byte, ushort)

Creates a controller event that changes a module parameter.

public PatternEvent MakeSetControllerValueEvent(byte controllerId, ushort value)

Parameters

controllerId byte
value ushort
Parameter value for controller or effect (16-bit unsigned integer).

Range: 0-32768 (0x8000) for controllers, 0-65535 (0xFFFF) for effects.

For pitch commands: 0x0000 = highest pitch, 0x7800 = C0, 0x100 = one semitone.

Returns

PatternEvent

Remarks

For better type safety and readability, consider using typed module handles and extension methods.

MakeSetFrequencyEvent(double, byte?)

Creates a Set Pitch event by converting a frequency in Hz to the appropriate pitch value.

public PatternEvent MakeSetFrequencyEvent(double frequency, byte? velocity = null)

Parameters

frequency double

Frequency in Hz (e.g., 440.0 for A4).

velocity byte?

Velocity value (0-128). Use null for default velocity.

Returns

PatternEvent

A new PatternEvent with the calculated pitch value.

Examples

// Set pitch to A4 (440 Hz)
var a440 = PatternEvent.SetFrequencyEvent(0, 440.0, 100);
// Set pitch to middle C (261.63 Hz)
var c4 = PatternEvent.SetFrequencyEvent(0, 261.63);

MakeSetPitchEvent(ushort, byte?)

Creates a Set Pitch event with exact pitch value for microtonal or pitch-bend effects.

public PatternEvent MakeSetPitchEvent(ushort pitch, byte? velocity = null)

Parameters

pitch ushort

Pitch value where 0x0000 = highest pitch, 0x7800 = C0 (lowest), 0x100 = one semitone.

velocity byte?

Velocity value (0-128). Use null for default velocity.

Returns

PatternEvent

A new PatternEvent configured as a set pitch event.

Examples

// Set pitch to middle C (C4 = 0x3C00)
var middleC = PatternEvent.SetPitchEvent(0, 0x3C00);
// Set pitch to A4 (440Hz reference = 0x4500)
var a440 = PatternEvent.SetPitchEvent(0, 0x4500, 100);

MakeVolumeEvent(int)

This is a helper method to automatically handle turning target controller values into column values.

For this controller the input value is mapped from displayed range (0 to 32768) to column range (0 to 0x8000). Out of range values are clamped.

public PatternEvent MakeVolumeEvent(int value)

Parameters

value int

Returns

PatternEvent

ReadCurveCustomWaveform(float[])

Used as a waveform where 'Custom' waveform type was applied.

Read from curve 0 of Fmx.

The curve contains 256 values in range of -1 to 1.
public int ReadCurveCustomWaveform(float[] buffer)

Parameters

buffer float[]

Returns

int

ReadScope(AudioChannel, short[])

Read module scope view, and write it to a buffer.

public int ReadScope(AudioChannel channel, short[] buffer)

Parameters

channel AudioChannel

Audio channel.

buffer short[]

Buffer to receive scope data.

Returns

int

Number of samples successfully read.

Remarks

Exceptions

ArgumentNullException

Thrown if buffer is null.

SetAdsrSmoothTransitions(AdsrSmoothTransitions)

Original name: 7 'ADSR smooth transitions' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetAdsrSmoothTransitions(AdsrSmoothTransitions value)

Parameters

value AdsrSmoothTransitions

SetChannels(ChannelsInverted)

Original name: 4 'Channels' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetChannels(ChannelsInverted value)

Parameters

value ChannelsInverted

SetColor(byte, byte, byte)

Set the module color.

public void SetColor(byte r, byte g, byte b)

Parameters

r byte

Red component (0 to 255).

g byte

Green component (0 to 255).

b byte

Blue component (0 to 255).

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

SetEnvelopeGain(int, ValueScalingMode)

Value range: displayed: 0 to 8000, real: 0 to 8000 Original name: 118 'Envelope gain' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetEnvelopeGain(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetFineTune(FineTunePair)

Sets the fine tune for the module.

public void SetFineTune(FineTunePair fineTune)

Parameters

fineTune FineTunePair

SetInputCustomWaveform(FmxCustomWaveform)

Original name: 6 'Input -> Custom waveform' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetInputCustomWaveform(FmxCustomWaveform value)

Parameters

value FmxCustomWaveform

SetInputOperator(int, ValueScalingMode)

Original name: 5 'Input -> Operator #' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetInputOperator(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetName(string)

Set the module name.

public void SetName(string name)

Parameters

name string

New module name.

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

ArgumentNullException

Thrown if name is null.

SetNoiseFilterOff32768(int, ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 8 'Noise filter (32768 - OFF)' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetNoiseFilterOff32768(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetOperatorAttack(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 14.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 14-18 '1 Attack' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorAttack(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorAttackCurve(int, AdsrCurveType)

This method accesses one of 5 grouped controllers starting at controller 34.
Original name pattern: 34-38 '1 Attack curve' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorAttackCurve(int index, AdsrCurveType value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrCurveType

SetOperatorConstantPitch(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 94.
Value range: displayed: -8192 to 8192, real: 0 to 16384 Original name pattern: 94-98 '1 Constant pitch' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorConstantPitch(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorDecay(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 19.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 19-23 '1 Decay' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorDecay(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorDecayCurve(int, AdsrCurveType)

This method accesses one of 5 grouped controllers starting at controller 39.
Original name pattern: 39-43 '1 Decay curve' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorDecayCurve(int index, AdsrCurveType value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrCurveType

SetOperatorEnvelopeScalingPerKey(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 59.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 59-63 '1 Envelope scaling per key' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorEnvelopeScalingPerKey(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorFeedback(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 104.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 104-108 '1 Feedback' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorFeedback(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorFrequencyMultiply(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 89.
Value range: displayed: 0 to 32000, real: 0 to 32000 Original name pattern: 89-93 '1 Freq multiply' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorFrequencyMultiply(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorModulationType(int, FmxModulationType)

This method accesses one of 5 grouped controllers starting at controller 109.
Original name pattern: 109-113 '1 Modulation type' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorModulationType(int index, FmxModulationType value)

Parameters

index int

Index of the controller in the group (0-4)

value FmxModulationType

SetOperatorNoise(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 79.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 79-83 '1 Noise' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorNoise(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorPhase(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 84.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 84-88 '1 Phase' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorPhase(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorRelease(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 29.
Value range: displayed: 0 to 10000, real: 0 to 10000 Original name pattern: 29-33 '1 Release' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorRelease(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorReleaseCurve(int, AdsrCurveType)

This method accesses one of 5 grouped controllers starting at controller 44.
Original name pattern: 44-48 '1 Release curve' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorReleaseCurve(int index, AdsrCurveType value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrCurveType

SetOperatorSelfModulation(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 99.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 99-103 '1 Self-modulation' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorSelfModulation(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorSustain(int, AdsrSustainMode)

This method accesses one of 5 grouped controllers starting at controller 49.
Original name pattern: 49-53 '1 Sustain' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorSustain(int index, AdsrSustainMode value)

Parameters

index int

Index of the controller in the group (0-4)

value AdsrSustainMode

SetOperatorSustainLevel(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 24.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 24-28 '1 Sustain level' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorSustainLevel(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorSustainPedal(int, Toggle)

This method accesses one of 5 grouped controllers starting at controller 54.
Original name pattern: 54-58 '1 Sustain pedal' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorSustainPedal(int index, Toggle value)

Parameters

index int

Index of the controller in the group (0-4)

value Toggle

SetOperatorVelocitySensitivity(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 69.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 69-73 '1 Velocity sensitivity' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorVelocitySensitivity(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorVolume(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 9.
Value range: displayed: 0 to 32768, real: 0 to 32768 Original name pattern: 9-13 '1 Volume' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorVolume(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorVolumeScalingPerKey(int, int, ValueScalingMode)

This method accesses one of 5 grouped controllers starting at controller 64.
Value range: displayed: -128 to 128, real: 0 to 256 Original name pattern: 64-68 '1 Volume scaling per key' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorVolumeScalingPerKey(int index, int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

index int

Index of the controller in the group (0-4)

value int
valueScalingMode ValueScalingMode

SetOperatorWaveform(int, FmxWaveform)

This method accesses one of 5 grouped controllers starting at controller 74.
Original name pattern: 74-78 '1 Waveform' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOperatorWaveform(int index, FmxWaveform value)

Parameters

index int

Index of the controller in the group (0-4)

value FmxWaveform

SetOutputMode1(int, ValueScalingMode)

Original name: 114 '1 Output mode' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOutputMode1(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetOutputMode2(int, ValueScalingMode)

Original name: 115 '2 Output mode' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOutputMode2(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetOutputMode3(int, ValueScalingMode)

Original name: 116 '3 Output mode' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOutputMode3(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetOutputMode4(int, ValueScalingMode)

Original name: 117 '4 Output mode' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetOutputMode4(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetPanning(int, ValueScalingMode)

Value range: displayed: -128 to 128, real: 0 to 256 Original name: 1 'Panning' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetPanning(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetPolyphony(int, ValueScalingMode)

Original name: 3 'Polyphony' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetPolyphony(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetPosition(int, int)

Set the module position.

public void SetPosition(int x, int y)

Parameters

x int

X coordinate (center: 512, working area: 0 to 1024).

y int

Y coordinate (center: 512, working area: 0 to 1024).

Remarks

Exceptions

SunVoxException

Thrown when the operation fails.

SetSampleRate(FmxSampleRate)

Original name: 2 'Sample rate' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetSampleRate(FmxSampleRate value)

Parameters

value FmxSampleRate

SetVolume(int, ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 0 'Volume' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

public void SetVolume(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

WriteCurveCustomWaveform(float[])

Used as a waveform where 'Custom' waveform type was applied.

Write to curve 0 of Fmx.

The curve contains 256 values in range of -1 to 1.
public int WriteCurveCustomWaveform(float[] buffer)

Parameters

buffer float[]

Returns

int

Operators

implicit operator SynthModuleHandle(FmxModuleHandle)

public static implicit operator SynthModuleHandle(FmxModuleHandle handle)

Parameters

handle FmxModuleHandle

Returns

SynthModuleHandle