Table of Contents

Interface IAnalogGeneratorModuleHandle

Namespace
SunSharp.Modules
Assembly
SunSharp.dll

Generator with 32 double alias-free oscillators, 12/24dB filters, envelopes, and smooth change of parameters. The sound quality of this module is better at a sample rate of 44100Hz.

public interface IAnalogGeneratorModuleHandle : ITypedModuleHandle, IGenericSynthModuleHandle
Inherited Members

Methods

GetAttack(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 3 'Attack'

int GetAttack(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetDutyCycle(ValueScalingMode)

Value range: displayed: 0 to 1024, real: 0 to 1024 Original name: 7 'Duty cycle'

int GetDutyCycle(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetExponentialEnvelope()

Original name: 6 'Exponential envelope'

Toggle GetExponentialEnvelope()

Returns

Toggle

GetFilter()

Original name: 9 'Filter'

AnalogGeneratorFilterType GetFilter()

Returns

AnalogGeneratorFilterType

GetFilterAttack(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 13 'F.attack'

int GetFilterAttack(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetFilterEnvelope()

Original name: 15 'F.envelope'

AnalogGeneratorEnvelopeMode GetFilterEnvelope()

Returns

AnalogGeneratorEnvelopeMode

GetFilterExponentialFrequency()

Original name: 12 'F.exponential freq'

Toggle GetFilterExponentialFrequency()

Returns

Toggle

GetFilterFrequency(ValueScalingMode)

Value range: displayed: 0 to 14000, real: 0 to 14000 Original name: 10 'F.freq'

int GetFilterFrequency(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetFilterRelease(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 14 'F.release'

int GetFilterRelease(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetFilterResonance(ValueScalingMode)

Value range: displayed: 0 to 1530, real: 0 to 1530 Original name: 11 'F.resonance'

int GetFilterResonance(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetMode()

Quality mode of the module.
Original name: 17 'Mode'

Quality GetMode()

Returns

Quality

GetNoise(ValueScalingMode)

Amount of white noise added to the signal.
Value range: displayed: 0 to 256, real: 0 to 256 Original name: 18 'Noise'

int GetNoise(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: 16 'Polyphony'

int GetPolyphony(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetRelease(ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 4 'Release'

int GetRelease(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetSecondaryOscillatorMode()

Original name: 20 'Osc2 mode'

AnalogGeneratorSecondaryOscillatorMode GetSecondaryOscillatorMode()

Returns

AnalogGeneratorSecondaryOscillatorMode

GetSecondaryOscillatorPhase(ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 21 'Osc2 phase'

int GetSecondaryOscillatorPhase(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetSecondaryOscillatorPitch(ValueScalingMode)

Pitch deviation of the additional oscillator (off in the zero position). One semitone = 64.
Value range: displayed: -1000 to 1000, real: 0 to 2000 Original name: 8 'Osc2'

int GetSecondaryOscillatorPitch(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetSecondaryOscillatorVolume(ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 19 'Osc2 volume'

int GetSecondaryOscillatorVolume(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetSustain()

Original name: 5 'Sustain'

Toggle GetSustain()

Returns

Toggle

GetVolume(ValueScalingMode)

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

int GetVolume(ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

valueScalingMode ValueScalingMode

Returns

int

GetWaveform()

Original name: 1 'Waveform'

AnalogGeneratorWaveform GetWaveform()

Returns

AnalogGeneratorWaveform

MakeAttackEvent(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 MakeAttackEvent(int value)

Parameters

value int

Returns

PatternEvent

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

PatternEvent MakeDutyCycleEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeExponentialEnvelopeEvent(Toggle)

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 MakeExponentialEnvelopeEvent(Toggle value)

Parameters

value Toggle

Returns

PatternEvent

MakeFilterAttackEvent(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 MakeFilterAttackEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeFilterEnvelopeEvent(AnalogGeneratorEnvelopeMode)

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 MakeFilterEnvelopeEvent(AnalogGeneratorEnvelopeMode value)

Parameters

value AnalogGeneratorEnvelopeMode

Returns

PatternEvent

MakeFilterEvent(AnalogGeneratorFilterType)

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 MakeFilterEvent(AnalogGeneratorFilterType value)

Parameters

value AnalogGeneratorFilterType

Returns

PatternEvent

MakeFilterExponentialFrequencyEvent(Toggle)

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 MakeFilterExponentialFrequencyEvent(Toggle value)

Parameters

value Toggle

Returns

PatternEvent

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

PatternEvent MakeFilterFrequencyEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeFilterReleaseEvent(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 MakeFilterReleaseEvent(int value)

Parameters

value int

Returns

PatternEvent

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

PatternEvent MakeFilterResonanceEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeModeEvent(Quality)

Quality mode of the module.

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

MakeNoiseEvent(int)

Amount of white noise added to the signal.

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 MakeNoiseEvent(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

MakeReleaseEvent(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 MakeReleaseEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeSecondaryOscillatorModeEvent(AnalogGeneratorSecondaryOscillatorMode)

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 MakeSecondaryOscillatorModeEvent(AnalogGeneratorSecondaryOscillatorMode value)

Parameters

value AnalogGeneratorSecondaryOscillatorMode

Returns

PatternEvent

MakeSecondaryOscillatorPhaseEvent(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.

PatternEvent MakeSecondaryOscillatorPhaseEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeSecondaryOscillatorPitchEvent(int)

Pitch deviation of the additional oscillator (off in the zero position). One semitone = 64.

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

PatternEvent MakeSecondaryOscillatorPitchEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeSecondaryOscillatorVolumeEvent(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.

PatternEvent MakeSecondaryOscillatorVolumeEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeSustainEvent(Toggle)

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 MakeSustainEvent(Toggle value)

Parameters

value Toggle

Returns

PatternEvent

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

PatternEvent MakeVolumeEvent(int value)

Parameters

value int

Returns

PatternEvent

MakeWaveformEvent(AnalogGeneratorWaveform)

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 MakeWaveformEvent(AnalogGeneratorWaveform value)

Parameters

value AnalogGeneratorWaveform

Returns

PatternEvent

ReadCurveSynth(float[])

Used for 'Drawn', 'DrawnSpline' and 'Harmonics' waveforms.

Read from curve 0 of AnalogGenerator.

The curve contains 32 values in range of -1 to 1.
int ReadCurveSynth(float[] buffer)

Parameters

buffer float[]

Returns

int

SetAttack(int, ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 3 '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 SetAttack(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetDutyCycle(int, ValueScalingMode)

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

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

Parameters

value int
valueScalingMode ValueScalingMode

SetExponentialEnvelope(Toggle)

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

void SetExponentialEnvelope(Toggle value)

Parameters

value Toggle

SetFilter(AnalogGeneratorFilterType)

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

void SetFilter(AnalogGeneratorFilterType value)

Parameters

value AnalogGeneratorFilterType

SetFilterAttack(int, ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 13 'F.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 SetFilterAttack(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetFilterEnvelope(AnalogGeneratorEnvelopeMode)

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

void SetFilterEnvelope(AnalogGeneratorEnvelopeMode value)

Parameters

value AnalogGeneratorEnvelopeMode

SetFilterExponentialFrequency(Toggle)

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

void SetFilterExponentialFrequency(Toggle value)

Parameters

value Toggle

SetFilterFrequency(int, ValueScalingMode)

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

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

Parameters

value int
valueScalingMode ValueScalingMode

SetFilterRelease(int, ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 14 'F.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 SetFilterRelease(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetFilterResonance(int, ValueScalingMode)

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

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

Parameters

value int
valueScalingMode ValueScalingMode

SetMode(Quality)

Quality mode of the module.
Original name: 17 '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

SetNoise(int, ValueScalingMode)

Amount of white noise added to the signal.
Value range: displayed: 0 to 256, real: 0 to 256 Original name: 18 'Noise' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

void SetNoise(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: 16 '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

SetRelease(int, ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 Original name: 4 '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 SetRelease(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetSecondaryOscillatorMode(AnalogGeneratorSecondaryOscillatorMode)

Original name: 20 'Osc2 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 SetSecondaryOscillatorMode(AnalogGeneratorSecondaryOscillatorMode value)

Parameters

value AnalogGeneratorSecondaryOscillatorMode

SetSecondaryOscillatorPhase(int, ValueScalingMode)

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

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

Parameters

value int
valueScalingMode ValueScalingMode

SetSecondaryOscillatorPitch(int, ValueScalingMode)

Pitch deviation of the additional oscillator (off in the zero position). One semitone = 64.
Value range: displayed: -1000 to 1000, real: 0 to 2000 Original name: 8 'Osc2' Note: equivalent SendEvent(int, PatternEvent) will be used internally, which may introduce latency. It will also be affected by the event timestamp set.

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

Parameters

value int
valueScalingMode ValueScalingMode

SetSecondaryOscillatorVolume(int, ValueScalingMode)

Value range: displayed: 0 to 32768, real: 0 to 32768 Original name: 19 'Osc2 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 SetSecondaryOscillatorVolume(int value, ValueScalingMode valueScalingMode = ValueScalingMode.Displayed)

Parameters

value int
valueScalingMode ValueScalingMode

SetSustain(Toggle)

Original name: 5 '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 SetSustain(Toggle value)

Parameters

value Toggle

SetVolume(int, ValueScalingMode)

Value range: displayed: 0 to 256, real: 0 to 256 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.

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

Parameters

value int
valueScalingMode ValueScalingMode

SetWaveform(AnalogGeneratorWaveform)

Original name: 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.

void SetWaveform(AnalogGeneratorWaveform value)

Parameters

value AnalogGeneratorWaveform

WriteCurveSynth(float[])

Used for 'Drawn', 'DrawnSpline' and 'Harmonics' waveforms.

Write to curve 0 of AnalogGenerator.

The curve contains 32 values in range of -1 to 1.
int WriteCurveSynth(float[] buffer)

Parameters

buffer float[]

Returns

int