aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-12-24 13:29:36 -0800
committerChris Robinson <[email protected]>2018-12-24 13:29:36 -0800
commitae86aef4db02675ec64d690556905ea034753c87 (patch)
tree9cfaf0b176150d2563ca62429ced1884c6db510d /OpenAL32
parentcd213fe6b731269caa484eb3cb9b830dac7f5c58 (diff)
Provide effect target parameters through a common struct
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alAuxEffectSlot.h7
-rw-r--r--OpenAL32/Include/alMain.h4
2 files changed, 8 insertions, 3 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h
index 04f00758..a3a308d9 100644
--- a/OpenAL32/Include/alAuxEffectSlot.h
+++ b/OpenAL32/Include/alAuxEffectSlot.h
@@ -10,6 +10,11 @@
struct ALeffectslot;
+struct EffectTarget {
+ MixParams *Main;
+ MixParams *FOAOut;
+ RealMixParams *RealOut;
+};
struct EffectState {
RefCount mRef{1u};
@@ -21,7 +26,7 @@ struct EffectState {
virtual ~EffectState() = default;
virtual ALboolean deviceUpdate(const ALCdevice *device) = 0;
- virtual void update(const ALCcontext *context, const ALeffectslot *slot, const ALeffectProps *props) = 0;
+ virtual void update(const ALCcontext *context, const ALeffectslot *slot, const ALeffectProps *props, const EffectTarget target) = 0;
virtual void process(ALsizei samplesToDo, const ALfloat (*RESTRICT samplesIn)[BUFFERSIZE], ALfloat (*RESTRICT samplesOut)[BUFFERSIZE], ALsizei numChannels) = 0;
void IncRef() noexcept;
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index 3ed11193..d12ea780 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -538,10 +538,10 @@ enum RenderMode {
typedef ALfloat ChannelConfig[MAX_AMBI_COEFFS];
-typedef struct BFChannelConfig {
+struct BFChannelConfig {
ALfloat Scale;
ALsizei Index;
-} BFChannelConfig;
+};
typedef union AmbiConfig {
/* Ambisonic coefficients for mixing to the dry buffer. */