home *** CD-ROM | disk | FTP | other *** search
- /*
- Company: Sensaura
- Copyright: (C) 1998
-
- File Name: cdsnd3d.h
- File Description: Header file for declaration of a DirectSound3DObject class
- Author: Adam Philp
- File Version: 1.03.000
- Last Update: 19-APR-00
-
- Target Compiler: Microsoft Visual C++ Version 5.0
- */
-
- #ifndef __cdsnd3d_h // Sentry, use file only if it's not already included
- #define __cdsnd3d_h
-
- /////////////////////// Included files ////////////////////////////////////////////////////////////
-
- #include "object3d.h" // 3D objects used by the application
-
- /////////////////////// Type definitions //////////////////////////////////////////////////////////
-
- typedef enum tagDIRECTSOUND3DTYPE // Types of positional audio. Use this variable to e.g.
- { // allow user to select 3D options on the main menu or
- // provide stereo panning if 3D positional audio not used
- DIRECTSOUND3D_SENSAURA, // Using Sensaura 3D positional audio
- DIRECTSOUND3D_HARDWARE, // Using other 3D positional audio hardware acceleration
- DIRECTSOUND3D_SOFTWARE, // Using Microsoft DirectSound3D software emulation
- DIRECTSOUND3D_NONE // No 3D positional audio
- }
- DIRECTSOUND3DTYPE, *LPDIRECTSOUND3DTYPE;
-
- /////////////////////// Class declarations ////////////////////////////////////////////////////////
-
- /*
- Class: DirectSound3DObject
- Description: IDirectSound object support class which manages 3D sound settings
- */
-
- class DirectSound3DObject
- {
- public: // Public constructor & destructor
- DirectSound3DObject(HINSTANCE);
- virtual ~DirectSound3DObject();
-
- public: // Public member functions
- bool Create(HWND);
- void Release();
- virtual bool SetDirectSound(DIRECTSOUND3DTYPE);
-
- public: // Public data members
- DIRECTSOUND3DTYPE m_DirectSoundType;
- LPDIRECTSOUND m_pDS;
- LPDIRECTSOUNDBUFFER m_pPrimary;
- LPDIRECTSOUND3DLISTENER m_pListener;
- bool m_bSensaura;
- DWORD m_dwMaxHw3dBuffers;
- };
-
- typedef DirectSound3DObject* LPDIRECTSOUND3DOBJECT;
-
- #endif // End of sentry __cdsnd3d_h