-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathIDirectSoundEx.h
executable file
·86 lines (71 loc) · 3.44 KB
/
IDirectSoundEx.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//////////////////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2003-2007, Arne Bockholdt, [email protected]
//
// This file is part of Direct Sound Control.
//
// Direct Sound Control is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Direct Sound Control is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with Direct Sound Control. If not, see <http://www.gnu.org/licenses/>.
//
//////////////////////////////////////////////////////////////////////////////////////////////
#pragma once
//////////////////////////////////////////////////////////////////////////////////////////////
#include "dsound.h"
//////////////////////////////////////////////////////////////////////////////////////////////
#define IDIRECTSOUND8EX_CLASS_NAME "IDirectSound8Ex"
//////////////////////////////////////////////////////////////////////////////////////////////
#ifdef ENABLE_LOG
extern void LogMessage(const char* szClassName, void* pInstance, char* szMessage );
extern bool g_bLogDirectSound;
#endif // ENABLE_LOG
extern bool g_bForceExclusiveMode;
extern bool g_bForceCertification;
extern bool g_bForceSoftwareMixing;
extern bool g_bForceHardwareMixing;
extern bool g_bPreventSpeakerSetup;
extern int g_nNum2DBuffers;
extern int g_nNum3DBuffers;
extern bool g_bForceHQSoftware3D;
extern bool g_bForceNonStatic;
extern bool g_bForceVoiceManagement;
extern bool g_bForcePrimaryBufferFormat;
extern int g_nPrimaryBufferBits;
extern int g_nPrimaryBufferSamples;
extern int g_nPrimaryBufferChannels;
extern int g_nSpeakerConfig;
extern bool g_bForceSpeakerConfig;
//////////////////////////////////////////////////////////////////////////////////////////////
class IDirectSound8Ex : public IDirectSound8
{
public:
IDirectSound8Ex(void);
virtual ~IDirectSound8Ex(void);
virtual HRESULT __stdcall QueryInterface (REFIID, LPVOID *);
virtual ULONG __stdcall AddRef();
virtual ULONG __stdcall Release();
virtual HRESULT __stdcall CreateSoundBuffer (LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter) ;
virtual HRESULT __stdcall GetCaps (LPDSCAPS pDSCaps) ;
virtual HRESULT __stdcall DuplicateSoundBuffer (LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate);
virtual HRESULT __stdcall SetCooperativeLevel (HWND hwnd, DWORD dwLevel);
virtual HRESULT __stdcall Compact ();
virtual HRESULT __stdcall GetSpeakerConfig (LPDWORD pdwSpeakerConfig);
virtual HRESULT __stdcall SetSpeakerConfig (DWORD dwSpeakerConfig);
virtual HRESULT __stdcall Initialize (LPCGUID pcGuidDevice) ;
virtual HRESULT __stdcall VerifyCertification (LPDWORD pdwCertified);
LPDIRECTSOUND8 m_lpDirectSound8;
protected :
#ifdef ENABLE_LOG
const char* m_cszClassName;
#endif // ENABLE_LOG
};
//////////////////////////////////////////////////////////////////////////////////////////////