diff options
author | Chris Robinson <[email protected]> | 2011-05-01 13:21:56 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2011-05-01 13:21:56 -0700 |
commit | 0109104027ec4de46c236f6520cf00d89dd980ad (patch) | |
tree | 8cc91b03503cd5a016a36e6c62dd21a46e14e885 /OpenAL32 | |
parent | c9c965ef8542f59cb810faef40bfd2f5e447daee (diff) |
Add some source fields for HRTF data
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/Include/alMain.h | 4 | ||||
-rw-r--r-- | OpenAL32/Include/alSource.h | 6 |
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) */ |