annotate win32/directx/dsound8.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 module win32.directx.dsound8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 //import tango.sys.win32.Types;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 import win32.windows;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 alias GUID* LPCGUID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 interface IUnknown
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 HRESULT QueryInterface(IID* riid, void** pvObject);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 ULONG AddRef();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12 ULONG Release();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 alias IUnknown LPUNKNOWN;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 interface IDirectSound : IUnknown
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 extern(Windows):
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21 // IDirectSound methods
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 HRESULT CreateSoundBuffer (LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 HRESULT GetCaps (LPDSCAPS pDSCaps);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24 HRESULT DuplicateSoundBuffer (LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 HRESULT SetCooperativeLevel (HWND hwnd, DWORD dwLevel);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 HRESULT Compact ();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 HRESULT GetSpeakerConfig (LPDWORD pdwSpeakerConfig);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 HRESULT SetSpeakerConfig (DWORD dwSpeakerConfig);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 HRESULT Initialize (LPCGUID pcGuidDevice);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 alias IDirectSound LPDIRECTSOUND;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 interface IDirectSound8 : IDirectSound
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 extern(Windows):
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 // IDirectSound8 methods
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 HRESULT VerifyCertification (LPDWORD pdwCertified);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 alias IDirectSound8 LPDIRECTSOUND8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44 interface IDirectSoundBuffer : IUnknown
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 extern(Windows):
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 // IDirectSoundBuffer methods
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 HRESULT GetCaps (LPDSBCAPS pDSBufferCaps);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 HRESULT GetCurrentPosition (LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 HRESULT GetFormat (LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 HRESULT GetVolume (LPLONG plVolume);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 HRESULT GetPan (LPLONG plPan);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54 HRESULT GetFrequency (LPDWORD pdwFrequency);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 HRESULT GetStatus (LPDWORD pdwStatus);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 HRESULT Initialize (LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 HRESULT Lock (DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 HRESULT Play (DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 HRESULT SetCurrentPosition (DWORD dwNewPosition);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 HRESULT SetFormat (LPCWAVEFORMATEX pcfxFormat);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 HRESULT SetVolume (LONG lVolume);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 HRESULT SetPan (LONG lPan);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 HRESULT SetFrequency (DWORD dwFrequency);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 HRESULT Stop ();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 HRESULT Unlock (LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 HRESULT Restore ();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 alias IDirectSoundBuffer LPDIRECTSOUNDBUFFER;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 interface IDirectSound3DListener : IUnknown
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 extern(Windows):
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 // IDirectSound3DListener methods
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 HRESULT GetAllParameters (LPDS3DLISTENER pListener);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 HRESULT GetDistanceFactor (D3DVALUE* pflDistanceFactor);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 HRESULT GetDopplerFactor (D3DVALUE* pflDopplerFactor);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 HRESULT GetOrientation (D3DVECTOR* pvOrientFront, D3DVECTOR* pvOrientTop);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 HRESULT GetPosition (D3DVECTOR* pvPosition);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 HRESULT GetRolloffFactor (D3DVALUE* pflRolloffFactor);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 HRESULT GetVelocity (D3DVECTOR* pvVelocity);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 HRESULT SetAllParameters (LPCDS3DLISTENER pcListener, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 HRESULT SetDistanceFactor (D3DVALUE flDistanceFactor, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 HRESULT SetDopplerFactor (D3DVALUE flDopplerFactor, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 HRESULT SetOrientation (D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 HRESULT SetPosition (D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 HRESULT SetRolloffFactor (D3DVALUE flRolloffFactor, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 HRESULT SetVelocity (D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 HRESULT CommitDeferredSettings ();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 struct WAVEFORMATEX
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 ushort wFormatTag;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 ushort nChannels;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 uint nSamplesPerSec;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 uint nAvgBytesPerSec;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 ushort nBlockAlign;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 ushort wBitsPerSample;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 ushort cbSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 alias WAVEFORMATEX* LPWAVEFORMATEX, LPCWAVEFORMATEX;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 enum : uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 WAVE_FORMAT_PCM = 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 struct DSCBUFFERDESC
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 DWORD dwBufferBytes;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 DWORD dwReserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119 LPWAVEFORMATEX lpwfxFormat;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 DWORD dwFXCount;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 LPDSCEFFECTDESC lpDSCFXDesc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 alias DSCBUFFERDESC* LPDSCBUFFERDESC;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 struct DSBUFFERDESC
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 DWORD dwBufferBytes;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 DWORD dwReserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 LPWAVEFORMATEX lpwfxFormat;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 GUID guid3DAlgorithm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 alias DSBUFFERDESC* LPCDSBUFFERDESC;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 struct DSCAPS
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 DWORD dwMinSecondarySampleRate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 DWORD dwMaxSecondarySampleRate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 DWORD dwPrimaryBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 DWORD dwMaxHwMixingAllBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 DWORD dwMaxHwMixingStaticBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 DWORD dwMaxHwMixingStreamingBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 DWORD dwFreeHwMixingAllBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 DWORD dwFreeHwMixingStaticBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 DWORD dwFreeHwMixingStreamingBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 DWORD dwMaxHw3DAllBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 DWORD dwMaxHw3DStaticBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 DWORD dwMaxHw3DStreamingBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 DWORD dwFreeHw3DAllBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 DWORD dwFreeHw3DStaticBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 DWORD dwFreeHw3DStreamingBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 DWORD dwTotalHwMemBytes;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 DWORD dwFreeHwMemBytes;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 DWORD dwMaxContigFreeHwMemBytes;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 DWORD dwUnlockTransferRateHwBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 DWORD dwPlayCpuOverheadSwBuffers;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 DWORD dwReserved1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 DWORD dwReserved2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166 alias DSCAPS* LPDSCAPS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 struct DSBCAPS
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
172 DWORD dwBufferBytes;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
173 DWORD dwUnlockTransferRate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
174 DWORD dwPlayCpuOverhead;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
175 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
176
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
177 alias DSBCAPS *LPDSBCAPS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
178
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
179 struct DSCEFFECTDESC
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
180 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
181 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
182 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
183 GUID guidDSCFXClass;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
184 GUID guidDSCFXInstance;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
185 DWORD dwReserved1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
186 DWORD dwReserved2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
187 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
188
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
189 alias DSCEFFECTDESC *LPDSCEFFECTDESC;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
190
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
191 struct DS3DLISTENER
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
192 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
193 DWORD dwSize;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
194 D3DVECTOR vPosition;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
195 D3DVECTOR vVelocity;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
196 D3DVECTOR vOrientFront;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
197 D3DVECTOR vOrientTop;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
198 D3DVALUE flDistanceFactor;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
199 D3DVALUE flRolloffFactor;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
200 D3DVALUE flDopplerFactor;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
201 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
202
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
203 alias DS3DLISTENER *LPDS3DLISTENER, LPCDS3DLISTENER;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
204
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
205 alias float D3DVALUE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
206
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
207 struct D3DVECTOR
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
208 {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
209 float x;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
210 float y;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
211 float z;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
212 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
213
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
214 extern(Windows) export HRESULT DirectSoundCreate8(LPCGUID pcGuidDevice, LPDIRECTSOUND8 *ppDS8, LPUNKNOWN pUnkOuter);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
215
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
216 const DSSCL_PRIORITY = 0x00000002;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
217 const DSBCAPS_PRIMARYBUFFER = 0x00000001;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
218 const DSBCAPS_CTRL3D = 0x00000010;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
219 const DSBCAPS_GETCURRENTPOSITION2 = 0x00010000;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
220 const DSBCAPS_LOCDEFER = 0x00040000;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
221 const DSBPLAY_LOOPING = 0x00000001;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
222 const DSBSTATUS_PLAYING = 0x00000001;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
223 const DSBCAPS_CTRLFREQUENCY = 0x00000020;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
224 const DSBCAPS_CTRLPAN = 0x00000040;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
225 const DSBCAPS_CTRLVOLUME = 0x00000080;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
226 const DSBLOCK_ENTIREBUFFER = 0x00000002;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
227
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
228 const GUID IID_IDirectSound3DListener8 = {0x279AFA84,0x4981,0x11CE,[0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]};