Table of Contents

Interface IFmModuleHandle

Namespace
SunSharp.Modules
Assembly
SunSharp.dll

Frequency Modulation (FM) Synthesizer. Each voice of polyphony includes two operators with ADSR envelopes: 1) C (carrier) - base sine wave generator; 2) M (modulator) - sine wave that changes the frequency of the first operator. The sound quality of this module is better at a sample rate of 44100Hz.

public interface IFmModuleHandle : ITypedModuleHandle, IGenericSynthModuleHandle
Inherited Members

Methods

GetCarrierAttack(ValueScalingMode)

Value range: displayed: 0 to 512, real: 0 to 512 Original name: 6 'C.Attack'

int GetCarrierAttack(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetCarrierDecay(ValueScalingMode)

Value range: displayed: 0 to 512, real: 0 to 512 Original name: 7 'C.Decay'

int GetCarrierDecay(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetCarrierFrequencyRatio(ValueScalingMode)

Value range: displayed: 0 to 16, real: 0 to 16 Original name: 3 'C.Freq ratio'

int GetCarrierFrequencyRatio(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetCarrierRelease(ValueScalingMode)

Value range: displayed: 0 to 512, real: 0 to 512 Original name: 9 'C.Release'

int GetCarrierRelease(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetCarrierSustain(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 8 'C.Sustain'

int GetCarrierSustain(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetCarrierVolume(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 0 'C.Volume'

int GetCarrierVolume(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetMode()

Original name: 16 'Mode'

Quality GetMode()

Returns

Quality

GetModulatorAttack(ValueScalingMode)

Value range: displayed: 0 to 512, real: 0 to 512 Original name: 10 'M.Attack'

int GetModulatorAttack(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorDecay(ValueScalingMode)

Value range: displayed: 0 to 512, real: 0 to 512 Original name: 11 'M.Decay'

int GetModulatorDecay(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorFrequencyRatio(ValueScalingMode)

Value range: displayed: 0 to 16, real: 0 to 16 Original name: 4 'M.Freq ratio'

int GetModulatorFrequencyRatio(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorRelease(ValueScalingMode)

Value range: displayed: 0 to 512, real: 0 to 512 Original name: 13 'M.Release'

int GetModulatorRelease(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorScalingPerKey(ValueScalingMode)

Value range: displayed: 0 to 4, real: 0 to 4 Original name: 14 'M.Scaling per key'

int GetModulatorScalingPerKey(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorSelfModulation(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 5 'M.Self-modulation'

int GetModulatorSelfModulation(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorSustain(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 12 'M.Sustain'

int GetModulatorSustain(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetModulatorVolume(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 1 'M.Volume'

int GetModulatorVolume(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetPanning(ValueScalingMode)

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

int GetPanning(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetPolyphony(ValueScalingMode)

Original name: 15 'Polyphony'

int GetPolyphony(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

MakeCarrierAttackEvent(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 512) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeCarrierAttackEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeCarrierDecayEvent(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 512) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeCarrierDecayEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeCarrierFrequencyRatioEvent(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 16) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeCarrierFrequencyRatioEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeCarrierReleaseEvent(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 512) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeCarrierReleaseEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeCarrierSustainEvent(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 256) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeCarrierSustainEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeCarrierVolumeEvent(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 256) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeCarrierVolumeEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModeEvent(Quality)

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.

PatternEvent MakeModeEvent(Quality value)

Parameters

value Quality

Returns

PatternEvent

MakeModulatorAttackEvent(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 512) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorAttackEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorDecayEvent(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 512) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorDecayEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorFrequencyRatioEvent(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 16) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorFrequencyRatioEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorReleaseEvent(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 512) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorReleaseEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorScalingPerKeyEvent(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 4) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorScalingPerKeyEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorSelfModulationEvent(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 256) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorSelfModulationEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorSustainEvent(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 256) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorSustainEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModulatorVolumeEvent(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 256) to column range (0 to 0x8000). Out of range values are clamped.

PatternEvent MakeModulatorVolumeEvent(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.

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.

PatternEvent MakePolyphonyEvent(int value)

Parameters

value int

Returns

PatternEvent

SetCarrierAttack(int, ValueScalingMode)

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

void SetCarrierAttack(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetCarrierDecay(int, ValueScalingMode)

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

void SetCarrierDecay(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetCarrierFrequencyRatio(int, ValueScalingMode)

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

void SetCarrierFrequencyRatio(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetCarrierRelease(int, ValueScalingMode)

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

void SetCarrierRelease(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetCarrierSustain(int, ValueScalingMode)

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

void SetCarrierSustain(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetCarrierVolume(int, ValueScalingMode)

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

void SetCarrierVolume(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetMode(Quality)

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

void SetMode(Quality value)

Parameters

value Quality

SetModulatorAttack(int, ValueScalingMode)

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

void SetModulatorAttack(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorDecay(int, ValueScalingMode)

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

void SetModulatorDecay(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorFrequencyRatio(int, ValueScalingMode)

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

void SetModulatorFrequencyRatio(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorRelease(int, ValueScalingMode)

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

void SetModulatorRelease(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorScalingPerKey(int, ValueScalingMode)

Value range: displayed: 0 to 4, real: 0 to 4 Original name: 14 'M.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.

void SetModulatorScalingPerKey(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorSelfModulation(int, ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 5 'M.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.

void SetModulatorSelfModulation(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorSustain(int, ValueScalingMode)

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

void SetModulatorSustain(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetModulatorVolume(int, ValueScalingMode)

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

void SetModulatorVolume(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: 2 'Panning' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

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

Parameters

value int
valueScalingMode ValueScalingMode

SetPolyphony(int, ValueScalingMode)

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

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

Parameters

value int
valueScalingMode ValueScalingMode