8 #ifndef EAX30_H_INCLUDED
9 #define EAX30_H_INCLUDED
25 0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5);
34 0xa0, 0x94, 0xd0, 0xc0, 0xbf, 0x3a, 0x56, 0xc);
38 #ifdef DIRECTSOUND_VERSION
39 #if DIRECTSOUND_VERSION == 0x0800
41 typedef
HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE8)(GUID*, LPDIRECTSOUND8*, IUnknown FAR*);
46 typedef
HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID*, LPDIRECTSOUND*, IUnknown FAR*);
58 unsigned char Data4[8];
60 #endif // !GUID_DEFINED
64 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
65 extern const GUID name
67 #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
68 extern const GUID name = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
91 0xbd, 0xb9, 0x00, 0xc0, 0xf0, 0x2d, 0xdf, 0x87);
94 #define DSPROPSETID_EAX_ListenerProperties DSPROPSETID_EAX30_ListenerProperties
127 #define DSPROPERTY_EAXLISTENER_IMMEDIATE 0x00000000 // changes take effect immediately
128 #define DSPROPERTY_EAXLISTENER_DEFERRED 0x80000000 // changes take effect later
129 #define DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS (DSPROPERTY_EAXLISTENER_NONE | \
130 DSPROPERTY_EAXLISTENER_IMMEDIATE)
131 #ifndef EAXVECTOR_DEFINED
132 #define EAXVECTOR_DEFINED
184 #ifndef EAX_ENVIRONMENTS_DEFINED
185 #define EAX_ENVIRONMENTS_DEFINED
230 #define EAXLISTENERFLAGS_DECAYTIMESCALE 0x00000001 // reverberation decay time
231 #define EAXLISTENERFLAGS_REFLECTIONSSCALE 0x00000002 // reflection level
232 #define EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE 0x00000004 // initial reflection delay time
233 #define EAXLISTENERFLAGS_REVERBSCALE 0x00000008 // reflections level
234 #define EAXLISTENERFLAGS_REVERBDELAYSCALE 0x00000010 // late reverberation delay time
235 #define EAXLISTENERFLAGS_ECHOTIMESCALE 0x00000040 // echo time
236 #define EAXLISTENERFLAGS_MODULATIONTIMESCALE 0x00000080 // modulation time
239 #define EAXLISTENERFLAGS_DECAYHFLIMIT 0x00000020
241 #define EAXLISTENERFLAGS_RESERVED 0xFFFFFF00 // reserved future use
245 #define EAXLISTENER_MINENVIRONMENT 0
246 #define EAXLISTENER_MAXENVIRONMENT (EAX_ENVIRONMENT_COUNT-1)
247 #define EAXLISTENER_DEFAULTENVIRONMENT EAX_ENVIRONMENT_GENERIC
249 #define EAXLISTENER_MINENVIRONMENTSIZE 1.0f
250 #define EAXLISTENER_MAXENVIRONMENTSIZE 100.0f
251 #define EAXLISTENER_DEFAULTENVIRONMENTSIZE 7.5f
253 #define EAXLISTENER_MINENVIRONMENTDIFFUSION 0.0f
254 #define EAXLISTENER_MAXENVIRONMENTDIFFUSION 1.0f
255 #define EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION 1.0f
257 #define EAXLISTENER_MINROOM (-10000)
258 #define EAXLISTENER_MAXROOM 0
259 #define EAXLISTENER_DEFAULTROOM (-1000)
261 #define EAXLISTENER_MINROOMHF (-10000)
262 #define EAXLISTENER_MAXROOMHF 0
263 #define EAXLISTENER_DEFAULTROOMHF (-100)
265 #define EAXLISTENER_MINROOMLF (-10000)
266 #define EAXLISTENER_MAXROOMLF 0
267 #define EAXLISTENER_DEFAULTROOMLF 0
269 #define EAXLISTENER_MINDECAYTIME 0.1f
270 #define EAXLISTENER_MAXDECAYTIME 20.0f
271 #define EAXLISTENER_DEFAULTDECAYTIME 1.49f
273 #define EAXLISTENER_MINDECAYHFRATIO 0.1f
274 #define EAXLISTENER_MAXDECAYHFRATIO 2.0f
275 #define EAXLISTENER_DEFAULTDECAYHFRATIO 0.83f
277 #define EAXLISTENER_MINDECAYLFRATIO 0.1f
278 #define EAXLISTENER_MAXDECAYLFRATIO 2.0f
279 #define EAXLISTENER_DEFAULTDECAYLFRATIO 1.00f
281 #define EAXLISTENER_MINREFLECTIONS (-10000)
282 #define EAXLISTENER_MAXREFLECTIONS 1000
283 #define EAXLISTENER_DEFAULTREFLECTIONS (-2602)
285 #define EAXLISTENER_MINREFLECTIONSDELAY 0.0f
286 #define EAXLISTENER_MAXREFLECTIONSDELAY 0.3f
287 #define EAXLISTENER_DEFAULTREFLECTIONSDELAY 0.007f
289 #define EAXLISTENER_MINREVERB (-10000)
290 #define EAXLISTENER_MAXREVERB 2000
291 #define EAXLISTENER_DEFAULTREVERB 200
293 #define EAXLISTENER_MINREVERBDELAY 0.0f
294 #define EAXLISTENER_MAXREVERBDELAY 0.1f
295 #define EAXLISTENER_DEFAULTREVERBDELAY 0.011f
297 #define EAXLISTENER_MINECHOTIME 0.075f
298 #define EAXLISTENER_MAXECHOTIME 0.25f
299 #define EAXLISTENER_DEFAULTECHOTIME 0.25f
301 #define EAXLISTENER_MINECHODEPTH 0.0f
302 #define EAXLISTENER_MAXECHODEPTH 1.0f
303 #define EAXLISTENER_DEFAULTECHODEPTH 0.0f
305 #define EAXLISTENER_MINMODULATIONTIME 0.04f
306 #define EAXLISTENER_MAXMODULATIONTIME 4.0f
307 #define EAXLISTENER_DEFAULTMODULATIONTIME 0.25f
309 #define EAXLISTENER_MINMODULATIONDEPTH 0.0f
310 #define EAXLISTENER_MAXMODULATIONDEPTH 1.0f
311 #define EAXLISTENER_DEFAULTMODULATIONDEPTH 0.0f
313 #define EAXLISTENER_MINAIRABSORPTIONHF (-100.0f)
314 #define EAXLISTENER_MAXAIRABSORPTIONHF 0.0f
315 #define EAXLISTENER_DEFAULTAIRABSORPTIONHF (-5.0f)
317 #define EAXLISTENER_MINHFREFERENCE 1000.0f
318 #define EAXLISTENER_MAXHFREFERENCE 20000.0f
319 #define EAXLISTENER_DEFAULTHFREFERENCE 5000.0f
321 #define EAXLISTENER_MINLFREFERENCE 20.0f
322 #define EAXLISTENER_MAXLFREFERENCE 1000.0f
323 #define EAXLISTENER_DEFAULTLFREFERENCE 250.0f
325 #define EAXLISTENER_MINROOMROLLOFFFACTOR 0.0f
326 #define EAXLISTENER_MAXROOMROLLOFFFACTOR 10.0f
327 #define EAXLISTENER_DEFAULTROOMROLLOFFFACTOR 0.0f
329 #define EAXLISTENER_DEFAULTFLAGS (EAXLISTENERFLAGS_DECAYTIMESCALE | \
330 EAXLISTENERFLAGS_REFLECTIONSSCALE | \
331 EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE | \
332 EAXLISTENERFLAGS_REVERBSCALE | \
333 EAXLISTENERFLAGS_REVERBDELAYSCALE | \
334 EAXLISTENERFLAGS_DECAYHFLIMIT)
345 0xbd, 0xb9, 0x0, 0xc0, 0xf0, 0x2d, 0xdf, 0x87);
348 #define DSPROPSETID_EAX_BufferProperties DSPROPSETID_EAX30_BufferProperties
349 #define DSPROPSETID_EAX_SourceProperties DSPROPSETID_EAX30_BufferProperties
379 #define DSPROPERTY_EAXBUFFER_IMMEDIATE 0x00000000 // changes take effect immediately
380 #define DSPROPERTY_EAXBUFFER_DEFERRED 0x80000000 // changes take effect later
381 #define DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS (DSPROPERTY_EAXBUFFER_NONE | \
382 DSPROPERTY_EAXBUFFER_IMMEDIATE)
420 #ifndef EAX_OBSTRUCTIONPROPERTIES_DEFINED
421 #define EAX_OBSTRUCTIONPROPERTIES_DEFINED
430 #ifndef EAX_OCCLUSIONPROPERTIES_DEFINED
431 #define EAX_OCCLUSIONPROPERTIES_DEFINED
442 #ifndef EAX_EXCLUSIONPROPERTIES_DEFINED
443 #define EAX_EXCLUSIONPROPERTIES_DEFINED
461 #define EAXBUFFERFLAGS_DIRECTHFAUTO 0x00000001 // affects DSPROPERTY_EAXBUFFER_DIRECTHF
462 #define EAXBUFFERFLAGS_ROOMAUTO 0x00000002 // affects DSPROPERTY_EAXBUFFER_ROOM
463 #define EAXBUFFERFLAGS_ROOMHFAUTO 0x00000004 // affects DSPROPERTY_EAXBUFFER_ROOMHF
465 #define EAXBUFFERFLAGS_RESERVED 0xFFFFFFF8 // reserved future use
469 #define EAXBUFFER_MINDIRECT (-10000)
470 #define EAXBUFFER_MAXDIRECT 1000
471 #define EAXBUFFER_DEFAULTDIRECT 0
473 #define EAXBUFFER_MINDIRECTHF (-10000)
474 #define EAXBUFFER_MAXDIRECTHF 0
475 #define EAXBUFFER_DEFAULTDIRECTHF 0
477 #define EAXBUFFER_MINROOM (-10000)
478 #define EAXBUFFER_MAXROOM 1000
479 #define EAXBUFFER_DEFAULTROOM 0
481 #define EAXBUFFER_MINROOMHF (-10000)
482 #define EAXBUFFER_MAXROOMHF 0
483 #define EAXBUFFER_DEFAULTROOMHF 0
485 #define EAXBUFFER_MINOBSTRUCTION (-10000)
486 #define EAXBUFFER_MAXOBSTRUCTION 0
487 #define EAXBUFFER_DEFAULTOBSTRUCTION 0
489 #define EAXBUFFER_MINOBSTRUCTIONLFRATIO 0.0f
490 #define EAXBUFFER_MAXOBSTRUCTIONLFRATIO 1.0f
491 #define EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO 0.0f
493 #define EAXBUFFER_MINOCCLUSION (-10000)
494 #define EAXBUFFER_MAXOCCLUSION 0
495 #define EAXBUFFER_DEFAULTOCCLUSION 0
497 #define EAXBUFFER_MINOCCLUSIONLFRATIO 0.0f
498 #define EAXBUFFER_MAXOCCLUSIONLFRATIO 1.0f
499 #define EAXBUFFER_DEFAULTOCCLUSIONLFRATIO 0.25f
501 #define EAXBUFFER_MINOCCLUSIONROOMRATIO 0.0f
502 #define EAXBUFFER_MAXOCCLUSIONROOMRATIO 10.0f
503 #define EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO 1.5f
505 #define EAXBUFFER_MINOCCLUSIONDIRECTRATIO 0.0f
506 #define EAXBUFFER_MAXOCCLUSIONDIRECTRATIO 10.0f
507 #define EAXBUFFER_DEFAULTOCCLUSIONDIRECTRATIO 1.0f
509 #define EAXBUFFER_MINEXCLUSION (-10000)
510 #define EAXBUFFER_MAXEXCLUSION 0
511 #define EAXBUFFER_DEFAULTEXCLUSION 0
513 #define EAXBUFFER_MINEXCLUSIONLFRATIO 0.0f
514 #define EAXBUFFER_MAXEXCLUSIONLFRATIO 1.0f
515 #define EAXBUFFER_DEFAULTEXCLUSIONLFRATIO 1.0f
517 #define EAXBUFFER_MINOUTSIDEVOLUMEHF (-10000)
518 #define EAXBUFFER_MAXOUTSIDEVOLUMEHF 0
519 #define EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF 0
521 #define EAXBUFFER_MINDOPPLERFACTOR 0.0f
522 #define EAXBUFFER_MAXDOPPLERFACTOR 10.f
523 #define EAXBUFFER_DEFAULTDOPPLERFACTOR 0.0f
525 #define EAXBUFFER_MINROLLOFFFACTOR 0.0f
526 #define EAXBUFFER_MAXROLLOFFFACTOR 10.f
527 #define EAXBUFFER_DEFAULTROLLOFFFACTOR 0.0f
529 #define EAXBUFFER_MINROOMROLLOFFFACTOR 0.0f
530 #define EAXBUFFER_MAXROOMROLLOFFFACTOR 10.f
531 #define EAXBUFFER_DEFAULTROOMROLLOFFFACTOR 0.0f
533 #define EAXBUFFER_MINAIRABSORPTIONFACTOR 0.0f
534 #define EAXBUFFER_MAXAIRABSORPTIONFACTOR 10.0f
535 #define EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR 1.0f
537 #define EAXBUFFER_DEFAULTFLAGS (EAXBUFFERFLAGS_DIRECTHFAUTO | \
538 EAXBUFFERFLAGS_ROOMAUTO | \
539 EAXBUFFERFLAGS_ROOMHFAUTO )
545 #endif // __cplusplus
float flOcclusionRoomRatio
struct _EAXOCCLUSIONPROPERTIES * LPEAXOCCLUSIONPROPERTIES
int ALint
OpenAL 32bit signed integer type.
float flOcclusionRoomRatio
__declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate(GUID *
DEFINE_GUID(CLSID_EAXDirectSound, 0x4ff53b81, 0x1ce0, 0x11d3, 0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5)
DSPROPERTY_EAX_LISTENERPROPERTY
struct _EAXEXCLUSIONPROPERTIES EAXEXCLUSIONPROPERTIES
struct _EAXVECTOR EAXVECTOR
struct _EAXBUFFERPROPERTIES EAXBUFFERPROPERTIES
unsigned ALuint
OpenAL 32bit unsigned integer type.
unsigned long ulEnvironment
unsigned int ALsizei
OpenAL 32bit type.
char ALboolean
OpenAL cross platform audio library Copyright (C) 1999-2000 by authors.
float flRoomRolloffFactor
float flObstructionLFRatio
float flOcclusionDirectRatio
struct _EAXLISTENERPROPERTIES EAXLISTENERPROPERTIES
float flAirAbsorptionFactor
float flEnvironmentDiffusion
struct _EAXOBSTRUCTIONPROPERTIES * LPEAXOBSTRUCTIONPROPERTIES
struct _EAXOCCLUSIONPROPERTIES EAXOCCLUSIONPROPERTIES
float flObstructionLFRatio
struct _EAXOBSTRUCTIONPROPERTIES EAXOBSTRUCTIONPROPERTIES
void ALvoid
OpenAL void type.
float flOcclusionDirectRatio
EAXVECTOR vReflectionsPan
float flRoomRolloffFactor
DSPROPERTY_EAX_BUFFERPROPERTY
int ALenum
OpenAL enumerations.
struct _EAXEXCLUSIONPROPERTIES * LPEAXEXCLUSIONPROPERTIES
struct _EAXLISTENERPROPERTIES * LPEAXLISTENERPROPERTIES
struct _EAXBUFFERPROPERTIES * LPEAXBUFFERPROPERTIES
LPDIRECTSOUND IUnknown FAR *typedef HRESULT(FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID *