aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-06-01 05:30:06 -0700
committerChris Robinson <[email protected]>2016-06-01 05:30:06 -0700
commitc63d468d4cc738ead65ff7ebc9cf6afcad400ee1 (patch)
treec3e214e33de7470a85c1dc994e094afdcf0013b2 /OpenAL32
parent5e64882be9ad3e3a1552e41befef5a6216f4ecfe (diff)
Use a macro to specify the ambisonic periphonic channel mask
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alMain.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index d7b54310..18aa4df3 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -483,10 +483,19 @@ enum RenderMode {
/* The maximum number of Ambisonics coefficients. For a given order (o), the
* size needed will be (o+1)**2, thus zero-order has 1, first-order has 4,
- * second-order has 9, and third-order has 16. */
+ * second-order has 9, third-order has 16, and fourth-order has 25. */
#define MAX_AMBI_ORDER 3
#define MAX_AMBI_COEFFS ((MAX_AMBI_ORDER+1) * (MAX_AMBI_ORDER+1))
+/* A bitmask of ambisonic channels with height information. If none of these
+ * channels are used/needed, there's no height (e.g. with most surround sound
+ * speaker setups). This only specifies up to 4th order, which is the highest
+ * order a 32-bit mask value can specify (a 64-bit mask could handle up to 7th
+ * order). This is ACN ordering, with bit 0 being ACN 0, etc.
+ */
+#define AMBI_PERIPHONIC_MASK (0xfe7ce4)
+
+
typedef ALfloat ChannelConfig[MAX_AMBI_COEFFS];
typedef struct BFChannelConfig {
ALfloat Scale;