home *** CD-ROM | disk | FTP | other *** search
/ Game Audio Programming / GameAudioProgramming.iso / Game_Audio / audio_sdk / include / AudioLib / ZoomFx.h < prev   
C/C++ Source or Header  |  2002-06-29  |  5KB  |  146 lines

  1. /*****************************************************************************/
  2. /*                                                                           */
  3. /*                    S  e  n  s  a  u  r  a     L  t  d                     */
  4. /*                    ==================================                     */
  5. /*                                                                           */
  6. /*                            (C) Copyright 2000                             */
  7. /*                                                                           */
  8. /*****************************************************************************/
  9.  
  10. /*****************************************************************************/
  11. /*                                                                           */
  12. /*      File:           ZoomFx.h                                             */
  13. /*                                                                           */
  14. /*      Version:        1.0                                                  */
  15. /*      Data:           01-Feb-2000                                          */
  16. /*                                                                           */
  17. /*****************************************************************************/
  18.  
  19.  
  20. #ifndef    _ZOOMFX_H_
  21. #define    _ZOOMFX_H_
  22.  
  23.  
  24. /*****************************************************************************/
  25. /*                                                                           */
  26. /*      G U I D s                                                            */
  27. /*                                                                           */
  28. /*****************************************************************************/
  29.  
  30.  
  31. #ifdef    __cplusplus
  32. extern    "C"
  33. {
  34. #endif
  35.  
  36. /* ZoomFX buffer property set GUID {CD5368E0-3450-11D3-8B6E-00105A9B7BBC} */
  37. DEFINE_GUID( DSPROPSETID_ZOOMFX_BufferProperties,
  38.              0xCD5368E0,        
  39.              0x3450,            
  40.              0x11D3,            
  41.              0x8B, 0x6E,        
  42.              0x00, 0x10, 0x5A, 0x9B, 0x7B, 0xBC );
  43.  
  44. #ifdef    __cplusplus
  45. }
  46. #endif
  47.  
  48.  
  49.  
  50.  
  51. /*****************************************************************************/
  52. /*                                                                           */
  53. /*      P r o p e r t y   s e t   I D s                                      */
  54. /*                                                                           */
  55. /*****************************************************************************/
  56.  
  57.  
  58. /* NOTE: Get and Set methods are valid for all properties */
  59. typedef enum
  60. {
  61.     /* all ZoomFX properties (data in ZOOMFX_BUFFERPROPERTIES structure) */
  62.     DSPROPERTY_ZOOMFXBUFFER_ALL = 0,
  63.  
  64.     /* sound source bounding box (data in ZOOMFX_BOX structure) */
  65.     DSPROPERTY_ZOOMFXBUFFER_BOX,
  66.  
  67.     /* sound source orientation (data in ZOOMFX_ORIENTATION structure) */
  68.     DSPROPERTY_ZOOMFXBUFFER_ORIENTATION,
  69.  
  70.     /* near field MacroFX effect (data in LONG type) */
  71.     DSPROPERTY_ZOOMFXBUFFER_MACROFX_EFFECT,
  72. };
  73.  
  74.  
  75.  
  76.  
  77. /*****************************************************************************/
  78. /*                                                                           */
  79. /*      S t r u c t u r e s                                                  */
  80. /*                                                                           */
  81. /*****************************************************************************/
  82.  
  83.  
  84. #pragma pack( push, 4 )
  85.  
  86. /* min/max coordinates that define the sound source bounding box extents */
  87. typedef struct
  88. {
  89.     D3DVECTOR vMin;
  90.     D3DVECTOR vMax;
  91. } ZOOMFX_BOX, *LPZOOMFX_BOX;
  92.  
  93.  
  94. /* vectors that define the sound source orientation */
  95. typedef    struct
  96. {
  97.     D3DVECTOR vFront;
  98.     D3DVECTOR vTop;
  99. } ZOOMFX_ORIENTATION, *LPZOOMFX_ORIENTATION;
  100.  
  101.  
  102. /* structure to get/set all ZoomFX properties at once */
  103. typedef    struct
  104. {
  105.     ZOOMFX_BOX box;
  106.     ZOOMFX_ORIENTATION orientation;
  107.     LONG lMacroFx;
  108. } ZOOMFX_BUFFERPROPERTIES, *LPZOOMFX_BUFFERPROPERTIES;
  109.  
  110. #pragma pack( pop )
  111.  
  112.  
  113.  
  114.  
  115. /*****************************************************************************/
  116. /*                                                                           */
  117. /*      R a n g e s   a n d   d e f a u l t s                                */
  118. /*                                                                           */
  119. /*****************************************************************************/
  120.  
  121.  
  122. /* ZoomFX bounding box coordinates - default is all 0 to disable ZoomFX */
  123. #define    ZOOMFXBUFFER_BOX_DEFAULT \
  124.         { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }
  125.  
  126.  
  127. /* ZoomFX orientation vectors */
  128. #define    ZOOMFXBUFFER_ORIENTATION_DEFAULT \
  129.         { { 0.0f, 0.0f, 1.0f }, { 0.0f, 1.0f, 0.0f } }
  130.  
  131.  
  132. /* MacroFX percentage effect - can be varied from 0 (i.e. off) to 200% */
  133. /* 100% equates to normal human hearing */
  134. #define    ZOOMFXBUFFER_MACROFX_MIN    0
  135. #define    ZOOMFXBUFFER_MACROFX_MAX    200
  136. #define    ZOOMFXBUFFER_MACROFX_DEFAULT    100
  137.  
  138.  
  139. /* ZoomFX all properties default */
  140. #define    ZOOMFXBUFFER_ALL_DEFAULT \
  141.         ZOOMFXBUFFER_BOX_DEFAULT, \
  142.         ZOOMFXBUFFER_ORIENTATION_DEFAULT, \
  143.         ZOOMFXBUFFER_MACROFX_DEFAULT
  144.  
  145. #endif
  146.