diff options
Diffstat (limited to 'Alc/midi')
-rw-r--r-- | Alc/midi/base.c | 3 | ||||
-rw-r--r-- | Alc/midi/fluidsynth.c | 2 | ||||
-rw-r--r-- | Alc/midi/sf2load.c | 6 |
3 files changed, 9 insertions, 2 deletions
diff --git a/Alc/midi/base.c b/Alc/midi/base.c index 1c6a2fcf..82e35a9d 100644 --- a/Alc/midi/base.c +++ b/Alc/midi/base.c @@ -306,6 +306,9 @@ void ALfontsound_Construct(ALfontsound *self) self->Pan = 0; + self->ChorusSend = 0; + self->ReverbSend = 0; + self->ModEnv.DelayTime = -12000; self->ModEnv.AttackTime = -12000; self->ModEnv.HoldTime = -12000; diff --git a/Alc/midi/fluidsynth.c b/Alc/midi/fluidsynth.c index 106f538d..944b7b8f 100644 --- a/Alc/midi/fluidsynth.c +++ b/Alc/midi/fluidsynth.c @@ -170,6 +170,8 @@ static int FPreset_noteOn(fluid_preset_t *preset, fluid_synth_t *synth, int chan fluid_voice_gen_set(voice, 9, sound->FilterQ); fluid_voice_gen_set(voice, 10, sound->ModLfoToFilterCutoff); fluid_voice_gen_set(voice, 11, sound->ModEnvToFilterCutoff); + fluid_voice_gen_set(voice, 15, sound->ChorusSend); + fluid_voice_gen_set(voice, 16, sound->ReverbSend); fluid_voice_gen_set(voice, 17, sound->Pan); fluid_voice_gen_set(voice, 25, sound->ModEnv.DelayTime); fluid_voice_gen_set(voice, 26, sound->ModEnv.AttackTime); diff --git a/Alc/midi/sf2load.c b/Alc/midi/sf2load.c index 931b5945..af342a9e 100644 --- a/Alc/midi/sf2load.c +++ b/Alc/midi/sf2load.c @@ -809,8 +809,8 @@ static void fillZone(ALuint id, const GenModList *zone) 0, /* 12 - endAddrCoarseOffset */ 0, /* 13 - modLfoToVolume */ 0, /* 14 - */ - 0, /* 15 - chorusEffectsSend */ - 0, /* 16 - reverbEffectsSend */ + AL_CHORUS_SEND_SOFT, /* 15 - chorusEffectsSend */ + AL_REVERB_SEND_SOFT, /* 16 - reverbEffectsSend */ AL_PAN_SOFT, /* 17 - pan */ 0, /* 18 - */ 0, /* 19 - */ @@ -897,6 +897,8 @@ static void fillZone(ALuint id, const GenModList *zone) break; if(param == AL_FILTER_RESONANCE_SOFT || param == AL_ATTENUATION_SOFT) value = maxi(0, value); + else if(param == AL_CHORUS_SEND_SOFT || param == AL_REVERB_SEND_SOFT) + value = clampi(value, 0, 1000); else if(param == AL_LOOP_MODE_SOFT) { if(!(value == 0 || value == 1 || value == 3)) |