enum Haematite::GeneratorType

Defined in:

haematite/enums.cr

Enum Members

StartAddressOffset = 0_u16
EndAddressOffset = 1_u16
StartLoopAddressOffset = 2_u16
EndLoopAddressOffset = 3_u16
StartAddressCoarseOffset = 4_u16
ModulationLfoToPitch = 5_u16
VibratoLfoToPitch = 6_u16
ModulationEnvelopeToPitch = 7_u16
InitialFilterCutoffFrequency = 8_u16
InitialFilterQ = 9_u16
ModulationLfoToFilterCutoffFrequency = 10_u16
ModulationEnvelopeToFilterCutoffFrequency = 11_u16
EndAddressCoarseOffset = 12_u16
ModulationLfoToVolume = 13_u16
Unused1 = 14_u16
ChorusEffectsSend = 15_u16
ReverbEffectsSend = 16_u16
Pan = 17_u16
Unused2 = 18_u16
Unused3 = 19_u16
Unused4 = 20_u16
DelayModulationLfo = 21_u16
FrequencyModulationLfo = 22_u16
DelayVibratoLfo = 23_u16
FrequencyVibratoLfo = 24_u16
DelayModulationEnvelope = 25_u16
AttackModulationEnvelope = 26_u16
HoldModulationEnvelope = 27_u16
DecayModulationEnvelope = 28_u16
SustainModulationEnvelope = 29_u16
ReleaseModulationEnvelope = 30_u16
KeyNumberToModulationEnvelopeHold = 31_u16
KeyNumberToModulationEnvelopeDecay = 32_u16
DelayVolumeEnvelope = 33_u16
AttackVolumeEnvelope = 34_u16
HoldVolumeEnvelope = 35_u16
DecayVolumeEnvelope = 36_u16
SustainVolumeEnvelope = 37_u16
ReleaseVolumeEnvelope = 38_u16
KeyNumberToVolumeEnvelopeHold = 39_u16
KeyNumberToVolumeEnvelopeDecay = 40_u16
Instrument = 41_u16
Reserved1 = 42_u16
KeyRange = 43_u16
VelocityRange = 44_u16
StartLoopAddressCoarseOffset = 45_u16
KeyNumber = 46_u16
Velocity = 47_u16
InitialAttenuation = 48_u16
Reserved2 = 49_u16
EndLoopAddressCoarseOffset = 50_u16
CoarseTune = 51_u16
FineTune = 52_u16
SampleID = 53_u16
SampleModes = 54_u16
Reserved3 = 55_u16
ScaleTuning = 56_u16
ExclusiveClass = 57_u16
OverridingRootKey = 58_u16
FluidSynthPitch = 59_u16

This is not "standard" SoundFont generator, because it is not mentioned in the list of generators in the SF2 specifications. It is used by FluidSynth internally to compute the nominal pitch of a note on note-on event. By nature it shouldn't be allowed to be modulated, however the specification defines a default modulator having "Initial Pitch" as destination (cf. SF2.01 page 57 section 8.4.10 MIDI Pitch Wheel to Initial Pitch). Thus it is impossible to cancel this default modulator, which would be required to let the MIDI Pitch Wheel controller modulate a different generator. In order to provide this flexibility, FluidSynth >= 2.1.0 uses a default modulator "Pitch Wheel to Fine Tune", rather than Initial Pitch. The same "compromise" can be found on the Audigy 2 ZS for instance.

This is ignored by Haematite.

FluidSynthCustomBalance = 60_u16

Not a real SoundFont generator. Taken from FluidSynth.

This is ignored by Haematite.

FluidSynthCustomFilterFreq = 61_u16

Not a real SoundFont generator. Taken from FluidSynth.

This is ignored by Haematite.

FluidSynthCustomFilterQ = 62_u16

Not a real SoundFont generator. Taken from FluidSynth.

This is ignored by Haematite.

UnusedEnd = 63_u16

Used as a marker for the number of known generator types.

Unknown = 255_u16

This is used for unknown generator types and does not represent a valid generator.

Instance Method Summary

Instance Method Detail

def attack_modulation_envelope? #

def attack_volume_envelope? #

def chorus_effects_send? #

def coarse_tune? #

def decay_modulation_envelope? #

def decay_volume_envelope? #

def delay_modulation_envelope? #

def delay_modulation_lfo? #

def delay_vibrato_lfo? #

def delay_volume_envelope? #

def end_address_coarse_offset? #

def end_address_offset? #

def end_loop_address_coarse_offset? #

def end_loop_address_offset? #

def exclusive_class? #

def fine_tune? #

def fluid_synth_custom_balance? #

def fluid_synth_custom_filter_freq? #

def fluid_synth_custom_filter_q? #

def fluid_synth_pitch? #

def frequency_modulation_lfo? #

def frequency_vibrato_lfo? #

def hold_modulation_envelope? #

def hold_volume_envelope? #

def initial_attenuation? #

def initial_filter_cutoff_frequency? #

def initial_filter_q? #

def instrument? #

def key_number? #

def key_number_to_modulation_envelope_decay? #

def key_number_to_modulation_envelope_hold? #

def key_number_to_volume_envelope_decay? #

def key_number_to_volume_envelope_hold? #

def key_range? #

def modulation_envelope_to_filter_cutoff_frequency? #

def modulation_envelope_to_pitch? #

def modulation_lfo_to_filter_cutoff_frequency? #

def modulation_lfo_to_pitch? #

def modulation_lfo_to_volume? #

def overriding_root_key? #

def pan? #

def release_modulation_envelope? #

def release_volume_envelope? #

def reserved1? #

def reserved2? #

def reserved3? #

def reverb_effects_send? #

def sample_id? #

def sample_modes? #

def scale_tuning? #

def start_address_coarse_offset? #

def start_address_offset? #

def start_loop_address_coarse_offset? #

def start_loop_address_offset? #

def sustain_modulation_envelope? #

def sustain_volume_envelope? #

def unknown? #

def unused1? #

def unused2? #

def unused3? #

def unused4? #

def unused_end? #

def velocity? #

def velocity_range? #

def vibrato_lfo_to_pitch? #