]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/audiodefs/audiodefs.factor
use radix literals
[factor.git] / basis / windows / directx / audiodefs / audiodefs.factor
1 USING: alien.c-types alien.syntax classes.struct
2 windows.kernel32 windows.types ;
3 IN: windows.directx.audiodefs
4
5 STRUCT: WAVEFORMATEX
6     { wFormatTag      WORD  }
7     { nChannels       WORD  }
8     { nSamplesPerSec  DWORD }
9     { nAvgBytesPerSec DWORD }
10     { nBlockAlign     WORD  }
11     { wBitsPerSample  WORD  }
12     { cbSize          WORD  } ;
13
14 TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX
15 TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX
16 TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX
17 TYPEDEF: WAVEFORMATEX* PCWAVEFORMATEX
18 TYPEDEF: WAVEFORMATEX* LPCWAVEFORMATEX
19
20 UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION
21     { wValidBitsPerSample WORD }
22     { wSamplesPerBlock    WORD }
23     { wReserved           WORD } ;
24
25 STRUCT: WAVEFORMATEXTENSIBLE
26     { Format        WAVEFORMATEX               }
27     { Union         WAVEFORMATEXTENSIBLE_UNION }
28     { dwChannelMask DWORD                      }
29     { SubFormat     GUID                       } ;
30
31 TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE
32 TYPEDEF: WAVEFORMATEXTENSIBLE* LPWAVEFORMATEXTENSIBLE
33 TYPEDEF: WAVEFORMATEXTENSIBLE* PCWAVEFORMATEXTENSIBLE
34 TYPEDEF: WAVEFORMATEXTENSIBLE* LPCWAVEFORMATEXTENSIBLE
35
36 STRUCT: WAVEFORMAT
37     { wFormatTag      WORD  }
38     { nChannels       WORD  }
39     { nSamplesPerSec  DWORD }
40     { nAvgBytesPerSec DWORD }
41     { nBlockAlign     WORD  } ;
42 TYPEDEF: WAVEFORMAT* PWAVEFORMAT
43 TYPEDEF: WAVEFORMAT* NPWAVEFORMAT
44 TYPEDEF: WAVEFORMAT* LPWAVEFORMAT
45
46 STRUCT: PCMWAVEFORMAT
47     { wf             WAVEFORMAT }
48     { wBitsPerSample WORD       } ;
49 TYPEDEF: PCMWAVEFORMAT* PPCMWAVEFORMAT
50 TYPEDEF: PCMWAVEFORMAT* NPPCMWAVEFORMAT
51 TYPEDEF: PCMWAVEFORMAT* LPPCMWAVEFORMAT
52
53 CONSTANT: WAVE_FORMAT_PCM 1
54
55 STRUCT: ADPCMCOEFSET
56     { iCoef1 short }
57     { iCoef2 short } ;
58
59 STRUCT: ADPCMWAVEFORMAT
60     { wfx              WAVEFORMATEX    }
61     { wSamplesPerBlock WORD            }
62     { wNumCoef         WORD            }
63     { aCoef            ADPCMCOEFSET[7] } ;
64
65 CONSTANT: WAVE_FORMAT_ADPCM           2
66 CONSTANT: WAVE_FORMAT_UNKNOWN         0
67 CONSTANT: WAVE_FORMAT_IEEE_FLOAT      3
68 CONSTANT: WAVE_FORMAT_MPEGLAYER3      0x0055
69 CONSTANT: WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
70 CONSTANT: WAVE_FORMAT_WMAUDIO2        0x0161
71 CONSTANT: WAVE_FORMAT_WMAUDIO3        0x0162
72 CONSTANT: WAVE_FORMAT_WMASPDIF        0x0164
73 CONSTANT: WAVE_FORMAT_EXTENSIBLE      0xFFFE
74
75 CONSTANT: SPEAKER_FRONT_LEFT            0x00000001
76 CONSTANT: SPEAKER_FRONT_RIGHT           0x00000002
77 CONSTANT: SPEAKER_FRONT_CENTER          0x00000004
78 CONSTANT: SPEAKER_LOW_FREQUENCY         0x00000008
79 CONSTANT: SPEAKER_BACK_LEFT             0x00000010
80 CONSTANT: SPEAKER_BACK_RIGHT            0x00000020
81 CONSTANT: SPEAKER_FRONT_LEFT_OF_CENTER  0x00000040
82 CONSTANT: SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080
83 CONSTANT: SPEAKER_BACK_CENTER           0x00000100
84 CONSTANT: SPEAKER_SIDE_LEFT             0x00000200
85 CONSTANT: SPEAKER_SIDE_RIGHT            0x00000400
86 CONSTANT: SPEAKER_TOP_CENTER            0x00000800
87 CONSTANT: SPEAKER_TOP_FRONT_LEFT        0x00001000
88 CONSTANT: SPEAKER_TOP_FRONT_CENTER      0x00002000
89 CONSTANT: SPEAKER_TOP_FRONT_RIGHT       0x00004000
90 CONSTANT: SPEAKER_TOP_BACK_LEFT         0x00008000
91 CONSTANT: SPEAKER_TOP_BACK_CENTER       0x00010000
92 CONSTANT: SPEAKER_TOP_BACK_RIGHT        0x00020000
93 CONSTANT: SPEAKER_RESERVED              0x7FFC0000
94 CONSTANT: SPEAKER_ALL                   0x80000000
95
96 CONSTANT: SPEAKER_MONO             0x00000004
97 CONSTANT: SPEAKER_STEREO           0x00000003
98 CONSTANT: SPEAKER_2POINT1          0x0000000B
99 CONSTANT: SPEAKER_SURROUND         0x00010007
100 CONSTANT: SPEAKER_QUAD             0x00028003
101 CONSTANT: SPEAKER_4POINT1          0x0002800B
102 CONSTANT: SPEAKER_5POINT1          0x0002800F
103 CONSTANT: SPEAKER_7POINT1          0x000280CF
104 CONSTANT: SPEAKER_5POINT1_SURROUND 0x0000060F
105 CONSTANT: SPEAKER_7POINT1_SURROUND 0x0002860F