diff options
author | Chris Robinson <[email protected]> | 2016-03-22 17:52:20 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2016-03-22 17:52:20 -0700 |
commit | 713ac9e6790ac5bb9491a893c9b2ee0a693878b7 (patch) | |
tree | dfba2a437adab49ddea4125e936f5866511e4baa /Alc/effects | |
parent | 0a03596af11570f5dba473c93c67c59d285d7bc2 (diff) |
Add a specific output for first-order sources
Diffstat (limited to 'Alc/effects')
-rw-r--r-- | Alc/effects/compressor.c | 5 | ||||
-rw-r--r-- | Alc/effects/equalizer.c | 5 | ||||
-rw-r--r-- | Alc/effects/modulator.c | 5 |
3 files changed, 12 insertions, 3 deletions
diff --git a/Alc/effects/compressor.c b/Alc/effects/compressor.c index ae859793..6358f672 100644 --- a/Alc/effects/compressor.c +++ b/Alc/effects/compressor.c @@ -70,8 +70,11 @@ static ALvoid ALcompressorState_update(ALcompressorState *state, const ALCdevice 0.0f, 0.0f, scale, 0.0f, 0.0f, 0.0f, 0.0f, scale ); + + STATIC_CAST(ALeffectState,state)->OutBuffer = device->FOAOut.Buffer; + STATIC_CAST(ALeffectState,state)->OutChannels = device->FOAOut.NumChannels; for(i = 0;i < 4;i++) - ComputeFirstOrderGains(device->Dry.AmbiCoeffs, device->Dry.NumChannels, + ComputeFirstOrderGains(device->FOAOut.AmbiCoeffs, device->FOAOut.NumChannels, matrix.m[i], slot->Gain, state->Gain[i]); } diff --git a/Alc/effects/equalizer.c b/Alc/effects/equalizer.c index 479a8536..ffc9830f 100644 --- a/Alc/effects/equalizer.c +++ b/Alc/effects/equalizer.c @@ -110,8 +110,11 @@ static ALvoid ALequalizerState_update(ALequalizerState *state, const ALCdevice * 0.0f, 0.0f, gain, 0.0f, 0.0f, 0.0f, 0.0f, gain ); + + STATIC_CAST(ALeffectState,state)->OutBuffer = device->FOAOut.Buffer; + STATIC_CAST(ALeffectState,state)->OutChannels = device->FOAOut.NumChannels; for(i = 0;i < MAX_EFFECT_CHANNELS;i++) - ComputeFirstOrderGains(device->Dry.AmbiCoeffs, device->Dry.NumChannels, + ComputeFirstOrderGains(device->FOAOut.AmbiCoeffs, device->FOAOut.NumChannels, matrix.m[i], slot->Gain, state->Gain[i]); /* Calculate coefficients for the each type of filter. Note that the shelf diff --git a/Alc/effects/modulator.c b/Alc/effects/modulator.c index 4183b908..c283d4b0 100644 --- a/Alc/effects/modulator.c +++ b/Alc/effects/modulator.c @@ -129,8 +129,11 @@ static ALvoid ALmodulatorState_update(ALmodulatorState *state, const ALCdevice * 0.0f, 0.0f, scale, 0.0f, 0.0f, 0.0f, 0.0f, scale ); + + STATIC_CAST(ALeffectState,state)->OutBuffer = Device->FOAOut.Buffer; + STATIC_CAST(ALeffectState,state)->OutChannels = Device->FOAOut.NumChannels; for(i = 0;i < MAX_EFFECT_CHANNELS;i++) - ComputeFirstOrderGains(Device->Dry.AmbiCoeffs, Device->Dry.NumChannels, + ComputeFirstOrderGains(Device->FOAOut.AmbiCoeffs, Device->FOAOut.NumChannels, matrix.m[i], Slot->Gain, state->Gain[i]); } |