]> gitweb @ CieloNegro.org - bindings-audiofile.git/blob - Bindings/AudioFile.hsc
Remove c'afSaveFilePosition and c'afRestoreFilePosition.
[bindings-audiofile.git] / Bindings / AudioFile.hsc
1 #include <bindings.dsl.h>
2 #include <audiofile.h>
3
4 module Bindings.AudioFile where
5 #strict_import
6 import Bindings.AudioFile.VFS
7 import Bindings.AudioFile.PVList
8
9 #opaque_t  _AFfilesetup
10 #synonym_t AFfilesetup , Ptr <_AFfilesetup>
11
12 #opaque_t  _AFfilehandle
13 #synonym_t AFfilehandle, Ptr <_AFfilehandle>
14
15 #callback AFerrfunc, CLong -> Ptr CChar -> IO ()
16
17 #integral_t AFframecount
18 #integral_t AFfileoffset
19
20 #pointer AF_NULL_FILESETUP
21 #pointer AF_NULL_FILEHANDLE
22
23 #num AF_ERR_BASE
24
25 #num AF_DEFAULT_TRACK
26
27 #num AF_DEFAULT_INST
28
29 #num AF_NUM_UNLIMITED
30
31 #num AF_BYTEORDER_BIGENDIAN
32 #num AF_BYTEORDER_LITTLEENDIAN
33
34 #num AF_FILE_UNKNOWN
35 #num AF_FILE_RAWDATA
36 #num AF_FILE_AIFFC
37 #num AF_FILE_AIFF
38 #num AF_FILE_NEXTSND
39 #num AF_FILE_WAVE
40 #num AF_FILE_BICSF
41 #num AF_FILE_IRCAM
42 #num AF_FILE_MPEG1BITSTREAM
43 #num AF_FILE_SOUNDDESIGNER1
44 #num AF_FILE_SOUNDDESIGNER2
45 #num AF_FILE_AVR
46 #num AF_FILE_IFF_8SVX
47 #num AF_FILE_SAMPLEVISION
48 #num AF_FILE_VOC
49 #num AF_FILE_NIST_SPHERE
50 #num AF_FILE_SOUNDFONT2
51
52 #num AF_LOOP_MODE_NOLOOP
53 #num AF_LOOP_MODE_FORW
54 #num AF_LOOP_MODE_FORWBAKW
55
56 #num AF_SAMPFMT_TWOSCOMP
57 #num AF_SAMPFMT_UNSIGNED
58 #num AF_SAMPFMT_FLOAT
59 #num AF_SAMPFMT_DOUBLE
60
61 #num AF_INST_LOOP_OFF
62 #num AF_INST_LOOP_CONTINUOUS
63 #num AF_INST_LOOP_SUSTAIN
64
65 #num AF_INST_MIDI_BASENOTE
66 #num AF_INST_NUMCENTS_DETUNE
67 #num AF_INST_MIDI_LONOTE
68 #num AF_INST_MIDI_HINOTE
69 #num AF_INST_MIDI_LOVELOCITY
70 #num AF_INST_MIDI_HIVELOCITY
71 #num AF_INST_NUMDBS_GAIN
72 #num AF_INST_SUSLOOPID
73 #num AF_INST_RELLOOPID
74 #num AF_INST_SAMP_STARTFRAME
75 #num AF_INST_SAMP_ENDFRAME
76 #num AF_INST_SAMP_MODE
77 #num AF_INST_TRACKID
78 #num AF_INST_NAME
79 #num AF_INST_SAMP_RATE
80 #num AF_INST_PRESETID
81 #num AF_INST_PRESET_NAME
82
83 #num AF_MISC_UNRECOGNIZED
84 #num AF_MISC_COPY
85 #num AF_MISC_AUTH
86 #num AF_MISC_NAME
87 #num AF_MISC_ANNO
88 #num AF_MISC_APPL
89 #num AF_MISC_MIDI
90 #num AF_MISC_PCMMAP
91 #num AF_MISC_NeXT
92 #num AF_MISC_IRCAM_PEAKAMP
93 #num AF_MISC_IRCAM_COMMENT
94 #num AF_MISC_COMMENT
95 #num AF_MISC_ICMT
96 #num AF_MISC_ICRD
97 #num AF_MISC_ISFT
98
99 #num AF_COMPRESSION_UNKNOWN
100 #num AF_COMPRESSION_NONE
101 #num AF_COMPRESSION_G722
102 #num AF_COMPRESSION_G711_ULAW
103 #num AF_COMPRESSION_G711_ALAW
104 #num AF_COMPRESSION_APPLE_ACE2
105 #num AF_COMPRESSION_APPLE_ACE8
106 #num AF_COMPRESSION_APPLE_MAC3
107 #num AF_COMPRESSION_APPLE_MAC6
108 #num AF_COMPRESSION_G726
109 #num AF_COMPRESSION_G728
110 #num AF_COMPRESSION_DVI_AUDIO
111 #num AF_COMPRESSION_IMA
112 #num AF_COMPRESSION_GSM
113 #num AF_COMPRESSION_FS1016
114 #num AF_COMPRESSION_DV
115 #num AF_COMPRESSION_MS_ADPCM
116
117 #num AF_QUERYTYPE_INSTPARAM
118 #num AF_QUERYTYPE_FILEFMT
119 #num AF_QUERYTYPE_COMPRESSION
120 #num AF_QUERYTYPE_COMPRESSIONPARAM
121 #num AF_QUERYTYPE_MISC
122 #num AF_QUERYTYPE_INST
123 #num AF_QUERYTYPE_MARK
124 #num AF_QUERYTYPE_LOOP
125
126 #num AF_QUERY_NAME
127 #num AF_QUERY_DESC
128 #num AF_QUERY_LABEL
129 #num AF_QUERY_TYPE
130 #num AF_QUERY_DEFAULT
131 #num AF_QUERY_ID_COUNT
132 #num AF_QUERY_IDS
133 #num AF_QUERY_IMPLEMENTED
134 #num AF_QUERY_TYPE_COUNT
135 #num AF_QUERY_TYPES
136 #num AF_QUERY_NATIVE_SAMPFMT
137 #num AF_QUERY_NATIVE_SAMPWIDTH
138 #num AF_QUERY_SQUISHFAC
139 #num AF_QUERY_MAX_NUMBER
140 #num AF_QUERY_SUPPORTED
141
142 #num AF_QUERY_TRACKS
143 #num AF_QUERY_CHANNELS
144 #num AF_QUERY_SAMPLE_SIZES
145 #num AF_QUERY_SAMPLE_FORMATS
146 #num AF_QUERY_COMPRESSION_TYPES
147
148 #num AF_QUERY_VALUE_COUNT
149 #num AF_QUERY_VALUES
150
151 #num AF_BAD_NOT_IMPLEMENTED
152 #num AF_BAD_FILEHANDLE
153 #num AF_BAD_OPEN
154 #num AF_BAD_CLOSE
155 #num AF_BAD_READ
156 #num AF_BAD_WRITE
157 #num AF_BAD_LSEEK
158 #num AF_BAD_NO_FILEHANDLE
159 #num AF_BAD_ACCMODE
160 #num AF_BAD_NOWRITEACC
161 #num AF_BAD_NOREADACC
162 #num AF_BAD_FILEFMT
163 #num AF_BAD_RATE
164 #num AF_BAD_CHANNELS
165 #num AF_BAD_SAMPCNT
166 #num AF_BAD_WIDTH
167 #num AF_BAD_SEEKMODE
168 #num AF_BAD_NO_LOOPDATA
169 #num AF_BAD_MALLOC
170 #num AF_BAD_LOOPID
171 #num AF_BAD_SAMPFMT
172 #num AF_BAD_FILESETUP
173 #num AF_BAD_TRACKID
174 #num AF_BAD_NUMTRACKS
175 #num AF_BAD_NO_FILESETUP
176 #num AF_BAD_LOOPMODE
177 #num AF_BAD_INSTID
178 #num AF_BAD_NUMLOOPS
179 #num AF_BAD_NUMMARKS
180 #num AF_BAD_MARKID
181 #num AF_BAD_MARKPOS
182 #num AF_BAD_NUMINSTS
183 #num AF_BAD_NOAESDATA
184 #num AF_BAD_MISCID
185 #num AF_BAD_NUMMISC
186 #num AF_BAD_MISCSIZE
187 #num AF_BAD_MISCTYPE
188 #num AF_BAD_MISCSEEK
189 #num AF_BAD_STRLEN
190 #num AF_BAD_RATECONV
191 #num AF_BAD_SYNCFILE
192 #num AF_BAD_CODEC_CONFIG
193 #num AF_BAD_CODEC_STATE
194 #num AF_BAD_CODEC_LICENSE
195 #num AF_BAD_CODEC_TYPE
196 #num AF_BAD_COMPRESSION
197 #num AF_BAD_COMPTYPE
198
199 #num AF_BAD_INSTPTYPE
200 #num AF_BAD_INSTPID
201 #num AF_BAD_BYTEORDER
202 #num AF_BAD_FILEFMT_PARAM
203 #num AF_BAD_COMP_PARAM
204 #num AF_BAD_DATAOFFSET
205 #num AF_BAD_FRAMECNT
206 #num AF_BAD_QUERYTYPE
207 #num AF_BAD_QUERY
208 #num AF_WARNING_CODEC_RATE
209 #num AF_WARNING_RATECVT
210
211 #num AF_BAD_HEADER
212 #num AF_BAD_FRAME
213 #num AF_BAD_LOOPCOUNT
214 #num AF_BAD_DMEDIA_CALL
215
216 #num AF_BAD_AIFF_HEADER
217 #num AF_BAD_AIFF_FORM
218 #num AF_BAD_AIFF_SSND
219 #num AF_BAD_AIFF_CHUNKID
220 #num AF_BAD_AIFF_COMM
221 #num AF_BAD_AIFF_INST
222 #num AF_BAD_AIFF_MARK
223 #num AF_BAD_AIFF_SKIP
224 #num AF_BAD_AIFF_LOOPMODE
225
226 #num AF_ERR_NOT_IMPLEMENTED
227 #num AF_ERR_BAD_FILEHANDLE
228 #num AF_ERR_BAD_READ
229 #num AF_ERR_BAD_WRITE
230 #num AF_ERR_BAD_LSEEK
231 #num AF_ERR_BAD_ACCMODE
232 #num AF_ERR_NO_WRITEACC
233 #num AF_ERR_NO_READACC
234 #num AF_ERR_BAD_FILEFMT
235 #num AF_ERR_BAD_RATE
236 #num AF_ERR_BAD_CHANNELS
237 #num AF_ERR_BAD_SAMPCNT
238 #num AF_ERR_BAD_WIDTH
239 #num AF_ERR_BAD_SEEKMODE
240 #num AF_ERR_BAD_LOOPID
241 #num AF_ERR_BAD_SAMPFMT
242 #num AF_ERR_BAD_FILESETUP
243 #num AF_ERR_BAD_TRACKID
244 #num AF_ERR_BAD_NUMTRACKS
245 #num AF_ERR_BAD_LOOPMODE
246 #num AF_ERR_BAD_INSTID
247 #num AF_ERR_BAD_NUMLOOPS
248 #num AF_ERR_BAD_NUMMARKS
249 #num AF_ERR_BAD_MARKID
250 #num AF_ERR_BAD_MARKPOS
251 #num AF_ERR_BAD_NUMINSTS
252 #num AF_ERR_BAD_NOAESDATA
253 #num AF_ERR_BAD_MISCID
254 #num AF_ERR_BAD_NUMMISC
255 #num AF_ERR_BAD_MISCSIZE
256 #num AF_ERR_BAD_MISCTYPE
257 #num AF_ERR_BAD_MISCSEEK
258 #num AF_ERR_BAD_STRLEN
259 #num AF_ERR_BAD_RATECONV
260 #num AF_ERR_BAD_SYNCFILE
261 #num AF_ERR_BAD_CODEC_CONFIG
262 #num AF_ERR_BAD_CODEC_TYPE
263 #num AF_ERR_BAD_INSTPTYPE
264 #num AF_ERR_BAD_INSTPID
265
266 #num AF_ERR_BAD_BYTEORDER
267 #num AF_ERR_BAD_FILEFMT_PARAM
268 #num AF_ERR_BAD_COMP_PARAM
269 #num AF_ERR_BAD_DATAOFFSET
270 #num AF_ERR_BAD_FRAMECNT
271
272 #num AF_ERR_BAD_QUERYTYPE
273 #num AF_ERR_BAD_QUERY
274 #num AF_ERR_BAD_HEADER
275 #num AF_ERR_BAD_FRAME
276 #num AF_ERR_BAD_LOOPCOUNT
277
278 #num AF_ERR_BAD_AIFF_HEADER
279 #num AF_ERR_BAD_AIFF_FORM
280 #num AF_ERR_BAD_AIFF_SSND
281 #num AF_ERR_BAD_AIFF_CHUNKID
282 #num AF_ERR_BAD_AIFF_COMM
283 #num AF_ERR_BAD_AIFF_INST
284 #num AF_ERR_BAD_AIFF_MARK
285 #num AF_ERR_BAD_AIFF_SKIP
286 #num AF_ERR_BAD_AIFF_LOOPMODE
287
288 #ccall afSetErrorHandler, <AFerrfunc> -> IO <AFerrfunc>
289
290 #ccall afQuery       , CInt -> CInt -> CInt -> CInt -> CInt -> IO <AUpvlist>
291 #ccall afQueryLong   , CInt -> CInt -> CInt -> CInt -> CInt -> IO CLong
292 #ccall afQueryDouble , CInt -> CInt -> CInt -> CInt -> CInt -> IO CDouble
293 #ccall afQueryPointer, CInt -> CInt -> CInt -> CInt -> CInt -> IO (Ptr ())
294
295 #ccall afNewFileSetup   , IO <AFfilesetup>
296 #ccall afFreeFileSetup  , <AFfilesetup> -> IO ()
297 #ccall afIdentifyFD     , CInt -> IO CInt
298 #ccall afIdentifyNamedFD, CInt -> Ptr CChar -> Ptr CInt -> IO CInt
299
300 #ccall afOpenFile       , Ptr CChar -> Ptr CChar -> <AFfilesetup> -> IO <AFfilehandle>
301 #ccall afOpenVirtualFile, Ptr <AFvirtualfile> -> Ptr CChar -> <AFfilesetup> -> IO <AFfilehandle>
302 #ccall afOpenFD         , CInt -> Ptr CChar -> <AFfilesetup> -> IO <AFfilehandle>
303 #ccall afOpenNamedFD    , CInt -> Ptr CChar -> <AFfilesetup> -> Ptr CChar -> IO <AFfilehandle>
304
305 -- THINKME: These routines are missing from the current libaudiofile. I don't know why.
306 -- #ccall afSaveFilePosition   , <AFfilehandle> -> IO ()
307 -- #ccall afRestoreFilePosition, <AFfilehandle> -> IO ()
308 #ccall afSyncFile           , <AFfilehandle> -> IO CInt
309 #ccall afCloseFile          , <AFfilehandle> -> IO CInt
310
311 #ccall afInitFileFormat, <AFfilesetup> -> CInt -> IO ()
312 #ccall afGetFileFormat , <AFfilehandle> -> Ptr CInt -> IO CInt
313
314 #ccall afInitTrackIDs, <AFfilesetup> -> Ptr CInt -> CInt -> IO ()
315 #ccall afGetTrackIDs , <AFfilehandle> -> Ptr CInt -> IO CInt
316
317 #ccall afReadFrames         , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
318 #ccall afWriteFrames        , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
319 #ccall afSeekFrame          , <AFfilehandle> -> CInt -> <AFframecount> -> IO <AFframecount>
320 #ccall afTellFrame          , <AFfilehandle> -> CInt -> IO <AFframecount>
321 #ccall afGetTrackBytes      , <AFfilehandle> -> CInt -> IO <AFfileoffset>
322 #ccall afGetFrameSize       , <AFfilehandle> -> CInt -> CInt -> IO CFloat
323 #ccall afGetVirtualFrameSize, <AFfilehandle> -> CInt -> CInt -> IO CFloat
324
325 #ccall afInitAESChannelData  , <AFfilesetup> -> CInt -> IO ()
326 #ccall afInitAESChannelDataTo, <AFfilesetup> -> CInt -> CInt -> IO ()
327 #ccall afGetAESChannelData   , <AFfilehandle> -> CInt -> Ptr CUChar -> IO CInt
328 #ccall afSetAESChannelData   , <AFfilehandle> -> CInt -> Ptr CUChar -> IO ()
329
330 #ccall afInitByteOrder      , <AFfilesetup> -> CInt -> CInt -> IO ()
331 #ccall afGetByteOrder       , <AFfilehandle> -> CInt -> IO CInt
332 #ccall afSetVirtualByteOrder, <AFfilehandle> -> CInt -> CInt -> IO CInt
333 #ccall afGetVirtualByteOrder, <AFfilehandle> -> CInt -> IO CInt
334
335 #ccall afInitChannels      , <AFfilesetup> -> CInt -> CInt -> IO ()
336 #ccall afGetChannels       , <AFfilehandle> -> CInt -> IO CInt
337 #ccall afSetVirtualChannels, <AFfilehandle> -> CInt -> CInt -> IO CInt
338 #ccall afGetVirtualChannels, <AFfilehandle> -> CInt -> IO CInt
339 #ccall afSetChannelMatrix  , <AFfilehandle> -> CInt -> Ptr CDouble -> IO ()
340
341 #ccall afInitSampleFormat      , <AFfilesetup> -> CInt -> CInt -> CInt -> IO ()
342 #ccall afGetSampleFormat       , <AFfilehandle> -> CInt -> Ptr CInt -> Ptr CInt -> IO ()
343 #ccall afGetVirtualSampleFormat, <AFfilehandle> -> CInt -> Ptr CInt -> Ptr CInt -> IO ()
344 #ccall afSetVirtualSampleFormat, <AFfilehandle> -> CInt -> CInt -> CInt -> IO CInt
345
346 #ccall afInitRate, <AFfilesetup> -> CInt -> CDouble -> IO ()
347 #ccall afGetRate , <AFfilehandle> -> CInt -> IO CDouble
348
349 #ccall afInitCompression, <AFfilesetup> -> CInt -> CInt -> IO ()
350 #ccall afGetCompression , <AFfilehandle> -> CInt -> IO CInt
351
352 #ccall afInitPCMMapping      , <AFfilesetup> -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
353 #ccall afGetPCMMapping       , <AFfilehandle> -> CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO ()
354 #ccall afSetTrackPCMMapping  , <AFfilehandle> -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt
355 #ccall afSetVirtualPCMMapping, <AFfilehandle> -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt
356 #ccall afGetVirtualPCMMapping, <AFfilehandle> -> CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO ()
357
358 #ccall afInitDataOffset, <AFfilesetup> -> CInt -> <AFfileoffset> -> IO ()
359 #ccall afGetDataOffset , <AFfilehandle> -> CInt -> IO <AFfileoffset>
360
361 #ccall afInitFrameCount, <AFfilesetup> -> CInt -> <AFframecount> -> IO ()
362 #ccall afGetFrameCount , <AFfilehandle> -> CInt -> IO <AFframecount>
363
364 #ccall afInitLoopIDs , <AFfilesetup> -> CInt -> Ptr CInt -> CInt -> IO ()
365 #ccall afGetLoopIDs  , <AFfilehandle> -> CInt -> Ptr CInt -> IO CInt
366 #ccall afSetLoopMode , <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
367 #ccall afGetLoopMode , <AFfilehandle> -> CInt -> CInt -> IO CInt
368 #ccall afSetLoopCount, <AFfilehandle> -> CInt -> CInt -> CInt -> IO CInt
369 #ccall afGetLoopCount, <AFfilehandle> -> CInt -> CInt -> IO CInt
370 #ccall afSetLoopStart, <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
371 #ccall afGetLoopStart, <AFfilehandle> -> CInt -> CInt -> IO CInt
372 #ccall afSetLoopEnd  , <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
373 #ccall afGetLoopEnd  , <AFfilehandle> -> CInt -> CInt -> IO CInt
374
375 #ccall afSetLoopStartFrame, <AFfilehandle> -> CInt -> CInt -> <AFframecount> -> IO CInt
376 #ccall afGetLoopStartFrame, <AFfilehandle> -> CInt -> CInt -> IO <AFframecount>
377 #ccall afSetLoopEndFrame  , <AFfilehandle> -> CInt -> CInt -> <AFframecount> -> IO CInt
378 #ccall afGetLoopEndFrame  , <AFfilehandle> -> CInt -> CInt -> IO <AFframecount>
379
380 #ccall afSetLoopTrack, <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
381 #ccall afGetLoopTrack, <AFfilehandle> -> CInt -> CInt -> IO CInt
382
383 #ccall afInitMarkIDs    , <AFfilesetup> -> CInt -> Ptr CInt -> CInt -> IO ()
384 #ccall afGetMarkIDs     , <AFfilehandle> -> CInt -> Ptr CInt -> IO CInt
385 #ccall afSetMarkPosition, <AFfilehandle> -> CInt -> CInt -> <AFframecount> -> IO ()
386 #ccall afGetMarkPosition, <AFfilehandle> -> CInt -> CInt -> IO <AFframecount>
387 #ccall afInitMarkName   , <AFfilesetup> -> CInt -> CInt -> Ptr CChar -> IO ()
388 #ccall afInitMarkComment, <AFfilesetup> -> CInt -> CInt -> Ptr CChar -> IO ()
389 #ccall afGetMarkName    , <AFfilehandle> -> CInt -> CInt -> IO (Ptr CChar)
390 #ccall afGetMarkComment , <AFfilehandle> -> CInt -> CInt -> IO (Ptr CChar)
391
392 #ccall afInitInstIDs     , <AFfilesetup> -> Ptr CInt -> CInt -> IO ()
393 #ccall afGetInstIDs      , <AFfilehandle> -> Ptr CInt -> IO CInt
394 #ccall afGetInstParams   , <AFfilehandle> -> CInt -> <AUpvlist> -> CInt -> IO ()
395 #ccall afSetInstParams   , <AFfilehandle> -> CInt -> <AUpvlist> -> CInt -> IO ()
396 #ccall afGetInstParamLong, <AFfilehandle> -> CInt -> CInt -> IO CLong
397 #ccall afSetInstParamLong, <AFfilehandle> -> CInt -> CInt -> CLong -> IO ()
398
399 #ccall afInitMiscIDs , <AFfilesetup> -> Ptr CInt -> CInt -> IO ()
400 #ccall afGetMiscIDs  , <AFfilehandle> -> Ptr CInt -> IO CInt
401 #ccall afInitMiscType, <AFfilesetup> -> CInt -> CInt -> IO ()
402 #ccall afGetMiscType , <AFfilehandle> -> CInt -> IO CInt
403 #ccall afInitMiscSize, <AFfilesetup> -> CInt -> CInt -> IO ()
404 #ccall afGetMiscSize , <AFfilehandle> -> CInt -> IO CInt
405 #ccall afWriteMisc   , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
406 #ccall afReadMisc    , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
407 #ccall afSeekMisc    , <AFfilehandle> -> CInt -> CInt -> IO CInt