diff options
author | Chris Robinson <[email protected]> | 2013-12-29 04:36:01 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2013-12-29 04:36:01 -0800 |
commit | 4c35f7c63243c7ffa251047074d44e6073edb435 (patch) | |
tree | a2e58b8cc67a3df124b66437afd7fb6c27414fe1 /Alc/midi | |
parent | 15aa12847d7d2797d5ef37ae428d5ab9afe0753a (diff) |
Add chorus and reverb send properties
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)) |