aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/effects
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-03-22 17:52:20 -0700
committerChris Robinson <[email protected]>2016-03-22 17:52:20 -0700
commit713ac9e6790ac5bb9491a893c9b2ee0a693878b7 (patch)
treedfba2a437adab49ddea4125e936f5866511e4baa /Alc/effects
parent0a03596af11570f5dba473c93c67c59d285d7bc2 (diff)
Add a specific output for first-order sources
Diffstat (limited to 'Alc/effects')
-rw-r--r--Alc/effects/compressor.c5
-rw-r--r--Alc/effects/equalizer.c5
-rw-r--r--Alc/effects/modulator.c5
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]);
}