aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include/alu.h
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32/Include/alu.h')
-rw-r--r--OpenAL32/Include/alu.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h
index 9792026c..6713c490 100644
--- a/OpenAL32/Include/alu.h
+++ b/OpenAL32/Include/alu.h
@@ -20,6 +20,7 @@
#include "logging.h"
#include "math_defs.h"
#include "filters/biquad.h"
+#include "filters/splitter.h"
#include "filters/nfc.h"
#include "almalloc.h"
#include "alnumeric.h"
@@ -204,10 +205,11 @@ struct ALvoiceProps : public ALvoicePropsBase {
DEF_NEWDEL(ALvoiceProps)
};
-#define VOICE_IS_STATIC (1<<0)
-#define VOICE_IS_FADING (1<<1) /* Fading sources use gain stepping for smooth transitions. */
-#define VOICE_HAS_HRTF (1<<2)
-#define VOICE_HAS_NFC (1<<3)
+#define VOICE_IS_STATIC (1u<<0)
+#define VOICE_IS_FADING (1u<<1) /* Fading sources use gain stepping for smooth transitions. */
+#define VOICE_IS_AMBISONIC (1u<<2) /* Voice needs HF scaling for ambisonic upsampling. */
+#define VOICE_HAS_HRTF (1u<<3)
+#define VOICE_HAS_NFC (1u<<4)
struct ALvoice {
std::atomic<ALvoiceProps*> Update{nullptr};
@@ -253,6 +255,9 @@ struct ALvoice {
InterpState ResampleState;
+ std::array<ALfloat,MAX_AMBI_ORDER+1> AmbiScales;
+ BandSplitter AmbiSplitter[MAX_INPUT_CHANNELS];
+
struct {
int FilterType;
DirectParams Params[MAX_INPUT_CHANNELS];