ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MinGW/include/msacm.h
Revision: 1046
Committed: Mon Aug 29 13:19:38 2016 UTC (9 years, 1 month ago) by alloc
Content type: text/x-chdr
File size: 9500 byte(s)
Log Message:
Daodan: Added Windows MinGW and build batch file

File Contents

# Content
1 /*author: Adrian Sandor
2 written for MinGW*/
3 #ifndef _MSACM_H
4 #define _MSACM_H
5
6 #if __GNUC__ >= 3
7 #pragma GCC system_header
8 #endif
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 DECLARE_HANDLE(HACMDRIVERID);
15 typedef HACMDRIVERID *PHACMDRIVERID;
16 typedef HACMDRIVERID *LPHACMDRIVERID;
17 DECLARE_HANDLE(HACMDRIVER);
18 typedef HACMDRIVER *PHACMDRIVER;
19 typedef HACMDRIVER *LPHACMDRIVER;
20 DECLARE_HANDLE(HACMSTREAM);
21 typedef HACMSTREAM *PHACMSTREAM;
22 typedef HACMSTREAM *LPHACMSTREAM;
23 DECLARE_HANDLE(HACMOBJ);
24 typedef HACMOBJ *PHACMOBJ;
25 typedef HACMOBJ *LPHACMOBJ;
26
27 /*found through experimentation*/
28 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
29 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
30 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
31 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
32
33 /*I don't know the right values for these macros*/
34 #define ACMFORMATDETAILS_FORMAT_CHARS 256
35 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 256
36 #define ACMDRIVERDETAILS_FEATURES_CHARS 256
37
38 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatdetails_str.asp*/
39 typedef struct {
40 DWORD cbStruct;
41 DWORD dwFormatIndex;
42 DWORD dwFormatTag;
43 DWORD fdwSupport;
44 LPWAVEFORMATEX pwfx;
45 DWORD cbwfx;
46 char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
47 } ACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
48 typedef struct {
49 DWORD cbStruct;
50 DWORD dwFormatIndex;
51 DWORD dwFormatTag;
52 DWORD fdwSupport;
53 LPWAVEFORMATEX pwfx;
54 DWORD cbwfx;
55 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
56 } ACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
57
58 /*msdn.microsoft.com/en-us/library/dd742926%28VS.85%29.aspx*/
59 typedef struct {
60 DWORD cbStruct;
61 DWORD fdwStatus;
62 DWORD_PTR dwUser;
63 LPBYTE pbSrc;
64 DWORD cbSrcLength;
65 DWORD cbSrcLengthUsed;
66 DWORD_PTR dwSrcUser;
67 LPBYTE pbDst;
68 DWORD cbDstLength;
69 DWORD cbDstLengthUsed;
70 DWORD_PTR dwDstUser;
71 DWORD dwReservedDriver[10];
72 } ACMSTREAMHEADER, *LPACMSTREAMHEADER;
73
74 /*msdn.microsoft.com/en-us/library/dd757711%28v=VS.85%29.aspx*/
75 typedef struct {
76 DWORD cbStruct;
77 DWORD dwFilterTag;
78 DWORD fdwFilter;
79 DWORD dwReserved[5];
80 } WAVEFILTER, *LPWAVEFILTER;
81
82 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagdetails_str.asp*/
83 typedef struct {
84 DWORD cbStruct;
85 DWORD dwFormatTagIndex;
86 DWORD dwFormatTag;
87 DWORD cbFormatSize;
88 DWORD fdwSupport;
89 DWORD cStandardFormats;
90 char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
91 } ACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
92 typedef struct {
93 DWORD cbStruct;
94 DWORD dwFormatTagIndex;
95 DWORD dwFormatTag;
96 DWORD cbFormatSize;
97 DWORD fdwSupport;
98 DWORD cStandardFormats;
99 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
100 } ACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
101
102 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails_str.asp*/
103 typedef struct {
104 DWORD cbStruct;
105 FOURCC fccType;
106 FOURCC fccComp;
107 WORD wMid;
108 WORD wPid;
109 DWORD vdwACM;
110 DWORD vdwDriver;
111 DWORD fdwSupport;
112 DWORD cFormatTags;
113 DWORD cFilterTags;
114 HICON hicon;
115 char szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
116 char szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
117 char szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
118 char szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
119 char szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
120 } ACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
121 typedef struct {
122 DWORD cbStruct;
123 FOURCC fccType;
124 FOURCC fccComp;
125 WORD wMid;
126 WORD wPid;
127 DWORD vdwACM;
128 DWORD vdwDriver;
129 DWORD fdwSupport;
130 DWORD cFormatTags;
131 DWORD cFilterTags;
132 HICON hicon;
133 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
134 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
135 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
136 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
137 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
138 } ACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
139
140 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenumcallback.asp*/
141 typedef BOOL (CALLBACK *ACMFORMATENUMCBA) (
142 HACMDRIVERID hadid,
143 LPACMFORMATDETAILSA pafd,
144 DWORD_PTR dwInstance,
145 DWORD fdwSupport
146 );
147 typedef BOOL (CALLBACK *ACMFORMATENUMCBW) (
148 HACMDRIVERID hadid,
149 LPACMFORMATDETAILSW pafd,
150 DWORD_PTR dwInstance,
151 DWORD fdwSupport
152 );
153
154 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenumcallback.asp*/
155 typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA) (
156 HACMDRIVERID hadid,
157 LPACMFORMATTAGDETAILSA paftd,
158 DWORD_PTR dwInstance,
159 DWORD fdwSupport
160 );
161 typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW) (
162 HACMDRIVERID hadid,
163 LPACMFORMATTAGDETAILSW paftd,
164 DWORD_PTR dwInstance,
165 DWORD fdwSupport
166 );
167
168 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenumcallback.asp*/
169 typedef BOOL (CALLBACK *ACMDRIVERENUMCB) (
170 HACMDRIVERID hadid,
171 DWORD_PTR dwInstance,
172 DWORD fdwSupport
173 );
174
175 /*and now the functions...*/
176
177 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriveropen.asp*/
178 MMRESULT WINAPI acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen);
179 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenum.asp*/
180 MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
181 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenum.asp*/
182 MMRESULT WINAPI acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
183 MMRESULT WINAPI acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
184
185 /*msdn.microsoft.com/en-us/library/dd742885%28VS.85%29.aspx*/
186 MMRESULT WINAPI acmDriverAddA(LPHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd);
187 MMRESULT WINAPI acmDriverAddW(LPHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd);
188
189 /*msdn.microsoft.com/en-us/library/dd742897%28v=VS.85%29.aspx*/
190 MMRESULT WINAPI acmDriverRemove(HACMDRIVERID hadid, DWORD fdwRemove);
191
192 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverclose.asp*/
193 MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose);
194 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails.asp*/
195 MMRESULT WINAPI acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, DWORD fdwDetails);
196 MMRESULT WINAPI acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, DWORD fdwDetails);
197 /*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenum.asp*/
198 MMRESULT WINAPI acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
199 MMRESULT WINAPI acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
200
201 /*msdn.microsoft.com/en-us/library/dd742922(VS.85).aspx*/
202 MMRESULT WINAPI acmMetrics(HACMOBJ hao, UINT uMetric, LPVOID pMetric);
203
204 /*msdn.microsoft.com/en-us/library/dd742928%28VS.85%29.aspx*/
205 MMRESULT WINAPI acmStreamOpen(LPHACMSTREAM phas, HACMDRIVER had, LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst, LPWAVEFILTER pwfltr, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen);
206
207 /*msdn.microsoft.com/en-us/library/dd742931%28VS.85%29.aspx*/
208 MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, LPDWORD pdwOutputBytes, DWORD fdwSize);
209
210 /*msdn.microsoft.com/en-us/library/dd742929%28VS.85%29.aspx*/
211 MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwPrepare);
212
213 /*msdn.microsoft.com/en-us/library/dd742932%28VS.85%29.aspx*/
214 MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwUnprepare);
215
216 /*msdn.microsoft.com/en-us/library/dd742930%28VS.85%29.aspx*/
217 MMRESULT WINAPI acmStreamReset(HACMSTREAM has, DWORD fdwReset);
218
219 /*msdn.microsoft.com/en-us/library/dd742923%28VS.85%29.aspx*/
220 MMRESULT WINAPI acmStreamClose(HACMSTREAM has, DWORD fdwClose);
221
222 /*msdn.microsoft.com/en-us/library/dd742924%28VS.85%29.aspx*/
223 MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwConvert);
224
225 #ifdef UNICODE
226
227 typedef ACMFORMATDETAILSW ACMFORMATDETAILS, *LPACMFORMATDETAILS;
228 typedef ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
229 typedef ACMDRIVERDETAILSW ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
230 typedef ACMFORMATENUMCBW ACMFORMATENUMCB;
231 typedef ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB;
232 #define acmFormatEnum acmFormatEnumW
233 #define acmDriverDetails acmDriverDetailsW
234 #define acmFormatTagEnum acmFormatTagEnumW
235 #define acmDriverAdd acmDriverAddW
236
237 #else /*ifdef UNICODE*/
238
239 typedef ACMFORMATDETAILSA ACMFORMATDETAILS, *LPACMFORMATDETAILS;
240 typedef ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
241 typedef ACMDRIVERDETAILSA ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
242 typedef ACMFORMATENUMCBA ACMFORMATENUMCB;
243 typedef ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB;
244 #define acmFormatEnum acmFormatEnumA
245 #define acmDriverDetails acmDriverDetailsA
246 #define acmFormatTagEnum acmFormatTagEnumA
247 #define acmDriverAdd acmDriverAddA
248
249 #endif /*ifdef UNICODE*/
250
251 #ifdef __cplusplus
252 }
253 #endif
254
255 #endif