home *** CD-ROM | disk | FTP | other *** search
/ Game Audio Programming / GameAudioProgramming.iso / Extras / Sensaura / SDK1.0 / data1.cab / Example_Files / DS3DDemo / Source / cdsnd3d.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-13  |  2.1 KB  |  62 lines

  1. /*
  2.     Company:            Sensaura
  3.     Copyright:          (C) 1998
  4.  
  5.     File Name:            cdsnd3d.h
  6.     File Description:    Header file for declaration of a DirectSound3DObject class
  7.     Author:                Adam Philp
  8.     File Version:        1.03.000
  9.     Last Update:        19-APR-00
  10.  
  11.     Target Compiler:    Microsoft Visual C++ Version 5.0
  12. */
  13.  
  14. #ifndef __cdsnd3d_h                        // Sentry, use file only if it's not already included
  15. #define __cdsnd3d_h
  16.  
  17. ///////////////////////    Included files ////////////////////////////////////////////////////////////
  18.  
  19. #include "object3d.h"                    // 3D objects used by the application 
  20.  
  21. /////////////////////// Type definitions //////////////////////////////////////////////////////////
  22.  
  23. typedef enum tagDIRECTSOUND3DTYPE        // Types of positional audio. Use this variable to e.g.
  24. {                                        // allow user to select 3D options on the main menu or 
  25.                                         // provide stereo panning if 3D positional audio not used
  26.     DIRECTSOUND3D_SENSAURA,                // Using Sensaura 3D positional audio
  27.     DIRECTSOUND3D_HARDWARE,                // Using other 3D positional audio hardware acceleration
  28.     DIRECTSOUND3D_SOFTWARE,                // Using Microsoft DirectSound3D software emulation
  29.     DIRECTSOUND3D_NONE                    // No 3D positional audio
  30. }
  31. DIRECTSOUND3DTYPE, *LPDIRECTSOUND3DTYPE;
  32.  
  33. ///////////////////////    Class declarations ////////////////////////////////////////////////////////
  34.  
  35. /*
  36.     Class:                DirectSound3DObject
  37.     Description:        IDirectSound object support class which manages 3D sound settings
  38. */
  39.  
  40. class DirectSound3DObject
  41. {
  42. public:                                    // Public constructor & destructor
  43.     DirectSound3DObject(HINSTANCE);    
  44.     virtual ~DirectSound3DObject();
  45.  
  46. public:                                    // Public member functions
  47.     bool Create(HWND);
  48.     void Release();
  49.     virtual bool SetDirectSound(DIRECTSOUND3DTYPE);
  50.  
  51. public:                                    // Public data members
  52.     DIRECTSOUND3DTYPE        m_DirectSoundType;
  53.     LPDIRECTSOUND            m_pDS;
  54.     LPDIRECTSOUNDBUFFER        m_pPrimary;
  55.     LPDIRECTSOUND3DLISTENER    m_pListener;
  56.     bool                    m_bSensaura;
  57.     DWORD                    m_dwMaxHw3dBuffers;
  58. };
  59.  
  60. typedef DirectSound3DObject* LPDIRECTSOUND3DOBJECT;
  61.  
  62. #endif                                    // End of sentry __cdsnd3d_h