21 #ifndef __AUDIODEFS_INCLUDED__
22 #define __AUDIODEFS_INCLUDED__
26 #pragma pack(push, 1) // Pack structures to 1-byte boundaries
37 #ifndef _WAVEFORMATEX_
39 #define _WAVEFORMATEX_
71 #ifndef _WAVEFORMATEXTENSIBLE_
73 #define _WAVEFORMATEXTENSIBLE_
101 #ifndef WAVE_FORMAT_PCM // Pulse Code Modulation
123 #define WAVE_FORMAT_PCM 0x0001
127 #ifndef WAVE_FORMAT_ADPCM // Microsoft Adaptive Differental PCM
137 #pragma warning(push)
138 #pragma warning(disable:4200) // Disable zero-sized array warnings
149 #define WAVE_FORMAT_ADPCM 0x0002
155 #ifndef WAVE_FORMAT_UNKNOWN
156 #define WAVE_FORMAT_UNKNOWN 0x0000 // Unknown or invalid format tag
159 #ifndef WAVE_FORMAT_IEEE_FLOAT
160 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 // 32-bit floating-point
163 #ifndef WAVE_FORMAT_MPEGLAYER3
164 #define WAVE_FORMAT_MPEGLAYER3 0x0055 // ISO/MPEG Layer3
167 #ifndef WAVE_FORMAT_DOLBY_AC3_SPDIF
168 #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 // Dolby Audio Codec 3 over S/PDIF
171 #ifndef WAVE_FORMAT_WMAUDIO2
172 #define WAVE_FORMAT_WMAUDIO2 0x0161 // Windows Media Audio
175 #ifndef WAVE_FORMAT_WMAUDIO3
176 #define WAVE_FORMAT_WMAUDIO3 0x0162 // Windows Media Audio Pro
179 #ifndef WAVE_FORMAT_WMASPDIF
180 #define WAVE_FORMAT_WMASPDIF 0x0164 // Windows Media Audio over S/PDIF
183 #ifndef WAVE_FORMAT_EXTENSIBLE
184 #define WAVE_FORMAT_EXTENSIBLE 0xFFFE // All WAVEFORMATEXTENSIBLE formats
197 #ifdef __cplusplus // uuid() and __uuidof() are only available in C++
199 #ifndef KSDATAFORMAT_SUBTYPE_PCM
200 struct __declspec(uuid("00000001-0000-0010-8000-00aa00389b71")) KSDATAFORMAT_SUBTYPE_PCM_STRUCT;
201 #define KSDATAFORMAT_SUBTYPE_PCM __uuidof(KSDATAFORMAT_SUBTYPE_PCM_STRUCT)
204 #ifndef KSDATAFORMAT_SUBTYPE_ADPCM
205 struct __declspec(uuid("00000002-0000-0010-8000-00aa00389b71")) KSDATAFORMAT_SUBTYPE_ADPCM_STRUCT;
206 #define KSDATAFORMAT_SUBTYPE_ADPCM __uuidof(KSDATAFORMAT_SUBTYPE_ADPCM_STRUCT)
209 #ifndef KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
210 struct __declspec(uuid("00000003-0000-0010-8000-00aa00389b71")) KSDATAFORMAT_SUBTYPE_IEEE_FLOAT_STRUCT;
211 #define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT __uuidof(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT_STRUCT)
223 #ifndef SPEAKER_FRONT_LEFT
224 #define SPEAKER_FRONT_LEFT 0x00000001
225 #define SPEAKER_FRONT_RIGHT 0x00000002
226 #define SPEAKER_FRONT_CENTER 0x00000004
227 #define SPEAKER_LOW_FREQUENCY 0x00000008
228 #define SPEAKER_BACK_LEFT 0x00000010
229 #define SPEAKER_BACK_RIGHT 0x00000020
230 #define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040
231 #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080
232 #define SPEAKER_BACK_CENTER 0x00000100
233 #define SPEAKER_SIDE_LEFT 0x00000200
234 #define SPEAKER_SIDE_RIGHT 0x00000400
235 #define SPEAKER_TOP_CENTER 0x00000800
236 #define SPEAKER_TOP_FRONT_LEFT 0x00001000
237 #define SPEAKER_TOP_FRONT_CENTER 0x00002000
238 #define SPEAKER_TOP_FRONT_RIGHT 0x00004000
239 #define SPEAKER_TOP_BACK_LEFT 0x00008000
240 #define SPEAKER_TOP_BACK_CENTER 0x00010000
241 #define SPEAKER_TOP_BACK_RIGHT 0x00020000
242 #define SPEAKER_RESERVED 0x7FFC0000
243 #define SPEAKER_ALL 0x80000000
244 #define _SPEAKER_POSITIONS_
247 #ifndef SPEAKER_STEREO
248 #define SPEAKER_MONO (SPEAKER_FRONT_CENTER)
249 #define SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
250 #define SPEAKER_2POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY)
251 #define SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
252 #define SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
253 #define SPEAKER_4POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
254 #define SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
255 #define SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER)
256 #define SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
257 #define SPEAKER_7POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
263 #endif // #ifndef __AUDIODEFS_INCLUDED__
const WAVEFORMATEXTENSIBLE * LPCWAVEFORMATEXTENSIBLE
struct waveformat_tag * LPWAVEFORMAT
const WAVEFORMATEX * PCWAVEFORMATEX
const WAVEFORMATEXTENSIBLE * PCWAVEFORMATEXTENSIBLE
struct tWAVEFORMATEX WAVEFORMATEX
const WAVEFORMATEX * LPCWAVEFORMATEX
struct pcmwaveformat_tag PCMWAVEFORMAT
struct adpcmwaveformat_tag ADPCMWAVEFORMAT
WAVEFORMATEX * LPWAVEFORMATEX
struct pcmwaveformat_tag * LPPCMWAVEFORMAT
struct pcmwaveformat_tag * PPCMWAVEFORMAT
struct adpcmcoef_tag ADPCMCOEFSET
struct pcmwaveformat_tag * NPPCMWAVEFORMAT
WAVEFORMATEXTENSIBLE * PWAVEFORMATEXTENSIBLE
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
WAVEFORMATEXTENSIBLE * LPWAVEFORMATEXTENSIBLE
WAVEFORMATEX * NPWAVEFORMATEX
struct waveformat_tag WAVEFORMAT
WAVEFORMATEX * PWAVEFORMATEX
struct waveformat_tag * NPWAVEFORMAT
struct waveformat_tag * PWAVEFORMAT