aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2019-03-22 19:25:55 -0700
committerChris Robinson <[email protected]>2019-03-22 19:25:55 -0700
commit3a6e741e900bbfbee99906c780402455637c223a (patch)
tree814197465cfdc027ac8c7c485f0f33ef2ffea08f /OpenAL32
parent92adfaebcecd305bc6fce43a40b41971bfe564b3 (diff)
Use MixParams for the wet buffers
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alAuxEffectSlot.h6
-rw-r--r--OpenAL32/Include/alu.h8
2 files changed, 5 insertions, 9 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h
index b3323578..c6f85a93 100644
--- a/OpenAL32/Include/alAuxEffectSlot.h
+++ b/OpenAL32/Include/alAuxEffectSlot.h
@@ -71,13 +71,15 @@ struct ALeffectslot {
/* Self ID */
ALuint id{};
+ /* Mixing buffer used by the Wet mix. */
+ al::vector<std::array<ALfloat,BUFFERSIZE>,16> MixBuffer;
+
/* Wet buffer configuration is ACN channel order with N3D scaling.
* Consequently, effects that only want to work with mono input can use
* channel 0 by itself. Effects that want multichannel can process the
* ambisonics signal and make a B-Format source pan.
*/
- al::vector<std::array<ALfloat,BUFFERSIZE>,16> WetBuffer;
- BFChannelConfig ChanMap[MAX_AMBI_CHANNELS];
+ MixParams Wet;
ALeffectslot() { PropsClean.test_and_set(std::memory_order_relaxed); }
ALeffectslot(const ALeffectslot&) = delete;
diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h
index 952d1004..6cdd7d9f 100644
--- a/OpenAL32/Include/alu.h
+++ b/OpenAL32/Include/alu.h
@@ -421,8 +421,6 @@ inline float ScaleAzimuthFront(float azimuth, float scale)
}
-void ComputePanningGainsBF(const BFChannelConfig *chanmap, ALsizei numchans, const ALfloat*RESTRICT coeffs, ALfloat ingain, ALfloat (&gains)[MAX_OUTPUT_CHANNELS]);
-
/**
* ComputePanGains
*
@@ -431,12 +429,8 @@ void ComputePanningGainsBF(const BFChannelConfig *chanmap, ALsizei numchans, con
* coeffs are a 'slice' of a transform matrix for the input channel, used to
* scale and orient the sound samples.
*/
-inline void ComputePanGains(const MixParams *dry, const ALfloat*RESTRICT coeffs, ALfloat ingain, ALfloat (&gains)[MAX_OUTPUT_CHANNELS])
-{
- ComputePanningGainsBF(dry->AmbiMap.data(), dry->NumChannels, coeffs, ingain, gains);
-}
+void ComputePanGains(const MixParams *mix, const ALfloat*RESTRICT coeffs, ALfloat ingain, ALfloat (&gains)[MAX_OUTPUT_CHANNELS]);
-void ComputePanGains(const ALeffectslot *slot, const ALfloat*RESTRICT coeffs, ALfloat ingain, ALfloat (&gains)[MAX_OUTPUT_CHANNELS]);
inline std::array<ALfloat,MAX_AMBI_CHANNELS> GetAmbiIdentityRow(size_t i) noexcept
{