factor/basis/windows/directx/audiodefs/audiodefs.factor

106 lines
3.8 KiB
Factor

USING: alien.c-types alien.syntax classes.struct
windows.kernel32 windows.types ;
IN: windows.directx.audiodefs
STRUCT: WAVEFORMATEX
{ wFormatTag WORD }
{ nChannels WORD }
{ nSamplesPerSec DWORD }
{ nAvgBytesPerSec DWORD }
{ nBlockAlign WORD }
{ wBitsPerSample WORD }
{ cbSize WORD } ;
TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX
TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX
TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX
TYPEDEF: WAVEFORMATEX* PCWAVEFORMATEX
TYPEDEF: WAVEFORMATEX* LPCWAVEFORMATEX
UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION
{ wValidBitsPerSample WORD }
{ wSamplesPerBlock WORD }
{ wReserved WORD } ;
STRUCT: WAVEFORMATEXTENSIBLE
{ Format WAVEFORMATEX }
{ Union WAVEFORMATEXTENSIBLE_UNION }
{ dwChannelMask DWORD }
{ SubFormat GUID } ;
TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE
TYPEDEF: WAVEFORMATEXTENSIBLE* LPWAVEFORMATEXTENSIBLE
TYPEDEF: WAVEFORMATEXTENSIBLE* PCWAVEFORMATEXTENSIBLE
TYPEDEF: WAVEFORMATEXTENSIBLE* LPCWAVEFORMATEXTENSIBLE
STRUCT: WAVEFORMAT
{ wFormatTag WORD }
{ nChannels WORD }
{ nSamplesPerSec DWORD }
{ nAvgBytesPerSec DWORD }
{ nBlockAlign WORD } ;
TYPEDEF: WAVEFORMAT* PWAVEFORMAT
TYPEDEF: WAVEFORMAT* NPWAVEFORMAT
TYPEDEF: WAVEFORMAT* LPWAVEFORMAT
STRUCT: PCMWAVEFORMAT
{ wf WAVEFORMAT }
{ wBitsPerSample WORD } ;
TYPEDEF: PCMWAVEFORMAT* PPCMWAVEFORMAT
TYPEDEF: PCMWAVEFORMAT* NPPCMWAVEFORMAT
TYPEDEF: PCMWAVEFORMAT* LPPCMWAVEFORMAT
CONSTANT: WAVE_FORMAT_PCM 1
STRUCT: ADPCMCOEFSET
{ iCoef1 short }
{ iCoef2 short } ;
STRUCT: ADPCMWAVEFORMAT
{ wfx WAVEFORMATEX }
{ wSamplesPerBlock WORD }
{ wNumCoef WORD }
{ aCoef ADPCMCOEFSET[7] } ;
CONSTANT: WAVE_FORMAT_ADPCM 2
CONSTANT: WAVE_FORMAT_UNKNOWN 0
CONSTANT: WAVE_FORMAT_IEEE_FLOAT 3
CONSTANT: WAVE_FORMAT_MPEGLAYER3 HEX: 0055
CONSTANT: WAVE_FORMAT_DOLBY_AC3_SPDIF HEX: 0092
CONSTANT: WAVE_FORMAT_WMAUDIO2 HEX: 0161
CONSTANT: WAVE_FORMAT_WMAUDIO3 HEX: 0162
CONSTANT: WAVE_FORMAT_WMASPDIF HEX: 0164
CONSTANT: WAVE_FORMAT_EXTENSIBLE HEX: FFFE
CONSTANT: SPEAKER_FRONT_LEFT HEX: 00000001
CONSTANT: SPEAKER_FRONT_RIGHT HEX: 00000002
CONSTANT: SPEAKER_FRONT_CENTER HEX: 00000004
CONSTANT: SPEAKER_LOW_FREQUENCY HEX: 00000008
CONSTANT: SPEAKER_BACK_LEFT HEX: 00000010
CONSTANT: SPEAKER_BACK_RIGHT HEX: 00000020
CONSTANT: SPEAKER_FRONT_LEFT_OF_CENTER HEX: 00000040
CONSTANT: SPEAKER_FRONT_RIGHT_OF_CENTER HEX: 00000080
CONSTANT: SPEAKER_BACK_CENTER HEX: 00000100
CONSTANT: SPEAKER_SIDE_LEFT HEX: 00000200
CONSTANT: SPEAKER_SIDE_RIGHT HEX: 00000400
CONSTANT: SPEAKER_TOP_CENTER HEX: 00000800
CONSTANT: SPEAKER_TOP_FRONT_LEFT HEX: 00001000
CONSTANT: SPEAKER_TOP_FRONT_CENTER HEX: 00002000
CONSTANT: SPEAKER_TOP_FRONT_RIGHT HEX: 00004000
CONSTANT: SPEAKER_TOP_BACK_LEFT HEX: 00008000
CONSTANT: SPEAKER_TOP_BACK_CENTER HEX: 00010000
CONSTANT: SPEAKER_TOP_BACK_RIGHT HEX: 00020000
CONSTANT: SPEAKER_RESERVED HEX: 7FFC0000
CONSTANT: SPEAKER_ALL HEX: 80000000
CONSTANT: SPEAKER_MONO HEX: 00000004
CONSTANT: SPEAKER_STEREO HEX: 00000003
CONSTANT: SPEAKER_2POINT1 HEX: 0000000B
CONSTANT: SPEAKER_SURROUND HEX: 00010007
CONSTANT: SPEAKER_QUAD HEX: 00028003
CONSTANT: SPEAKER_4POINT1 HEX: 0002800B
CONSTANT: SPEAKER_5POINT1 HEX: 0002800F
CONSTANT: SPEAKER_7POINT1 HEX: 000280CF
CONSTANT: SPEAKER_5POINT1_SURROUND HEX: 0000060F
CONSTANT: SPEAKER_7POINT1_SURROUND HEX: 0002860F