summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-05-01 13:21:56 -0700
committerChris Robinson <[email protected]>2011-05-01 13:21:56 -0700
commit0109104027ec4de46c236f6520cf00d89dd980ad (patch)
tree8cc91b03503cd5a016a36e6c62dd21a46e14e885
parentc9c965ef8542f59cb810faef40bfd2f5e447daee (diff)
Add some source fields for HRTF data
-rw-r--r--OpenAL32/Include/alMain.h4
-rw-r--r--OpenAL32/Include/alSource.h6
2 files changed, 10 insertions, 0 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index 24027c99..6c18a387 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -584,6 +584,10 @@ void SetDefaultWFXChannelOrder(ALCdevice *device);
ALboolean IsValidType(ALenum type);
ALboolean IsValidChannels(ALenum type);
+#define HRTF_BITS (7)
+#define HRTF_LENGTH (1<<HRTF_BITS)
+#define HRTF_LENGTH_MASK (HRTF_LENGTH-1)
+
void al_print(const char *fname, unsigned int line, const char *fmt, ...)
PRINTF_STYLE(3,4);
#define AL_PRINT(...) al_print(__FILE__, __LINE__, __VA_ARGS__)
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h
index e43792c3..30b949db 100644
--- a/OpenAL32/Include/alSource.h
+++ b/OpenAL32/Include/alSource.h
@@ -86,11 +86,17 @@ typedef struct ALsource
// Source Type (Static, Streaming, or Undetermined)
ALint lSourceType;
+ /* HRTF info */
+ ALfloat HrtfHistory[HRTF_LENGTH];
+ ALuint HrtfOffset;
+
// Current target parameters used for mixing
ALboolean NeedsUpdate;
struct {
ALint Step;
+ ALfloat HrtfCoeffs[HRTF_LENGTH][2];
+
/* A mixing matrix. First subscript is the channel number of the input
* data (regardless of channel configuration) and the second is the
* channel target (eg. FRONT_LEFT) */