aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/alc.cpp
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2019-02-21 04:23:01 -0800
committerChris Robinson <[email protected]>2019-02-21 04:23:01 -0800
commit8ac2d34706d1dea7c33f2b33c156cc23dde7b197 (patch)
tree52e5e14d4b63b61a3d663a3d84c2bc9c0c5464c3 /Alc/alc.cpp
parenta9648905378b8a3321742bb0e498227cfc6ee5f6 (diff)
Allow processing some effects in higher order ambisonics
Reverb notably is still only first-order (any higher order channels are dropped, and it writes to FOAOut). But others, like the equalizer, work on all available channels.
Diffstat (limited to 'Alc/alc.cpp')
-rw-r--r--Alc/alc.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Alc/alc.cpp b/Alc/alc.cpp
index 99247753..b68a16e0 100644
--- a/Alc/alc.cpp
+++ b/Alc/alc.cpp
@@ -2068,7 +2068,7 @@ static ALCenum UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
if(context->DefaultSlot)
{
ALeffectslot *slot = context->DefaultSlot.get();
- aluInitEffectPanning(slot);
+ aluInitEffectPanning(slot, device);
EffectState *state{slot->Effect.State};
state->mOutBuffer = device->Dry.Buffer;
@@ -2091,7 +2091,7 @@ static ALCenum UpdateDeviceParams(ALCdevice *device, const ALCint *attrList)
usemask &= ~(1_u64 << idx);
- aluInitEffectPanning(slot);
+ aluInitEffectPanning(slot, device);
EffectState *state{slot->Effect.State};
state->mOutBuffer = device->Dry.Buffer;
@@ -3453,7 +3453,7 @@ ALC_API ALCcontext* ALC_APIENTRY alcCreateContext(ALCdevice *device, const ALCin
void *ptr{al_calloc(16, sizeof(ALeffectslot))};
ALContext->DefaultSlot = std::unique_ptr<ALeffectslot>{new (ptr) ALeffectslot{}};
if(InitEffectSlot(ALContext->DefaultSlot.get()) == AL_NO_ERROR)
- aluInitEffectPanning(ALContext->DefaultSlot.get());
+ aluInitEffectPanning(ALContext->DefaultSlot.get(), dev.get());
else
{
ALContext->DefaultSlot = nullptr;