#include <bindings.dsl.h>
#include <audiofile.h>
module Bindings.AudioFile where
#strict_import
import Bindings.AudioFile.VFS
import Bindings.AudioFile.PVList
#opaque_t _AFfilesetup
#synonym_t AFfilesetup , Ptr <_AFfilesetup>
#opaque_t _AFfilehandle
#synonym_t AFfilehandle, Ptr <_AFfilehandle>
#callback AFerrfunc, CLong -> Ptr CChar -> IO ()
#integral_t AFframecount
#integral_t AFfileoffset
#pointer AF_NULL_FILESETUP
#pointer AF_NULL_FILEHANDLE
#num AF_ERR_BASE
#num AF_DEFAULT_TRACK
#num AF_DEFAULT_INST
#num AF_NUM_UNLIMITED
#num AF_BYTEORDER_BIGENDIAN
#num AF_BYTEORDER_LITTLEENDIAN
#num AF_FILE_UNKNOWN
#num AF_FILE_RAWDATA
#num AF_FILE_AIFFC
#num AF_FILE_AIFF
#num AF_FILE_NEXTSND
#num AF_FILE_WAVE
#num AF_FILE_BICSF
#num AF_FILE_IRCAM
#num AF_FILE_MPEG1BITSTREAM
#num AF_FILE_SOUNDDESIGNER1
#num AF_FILE_SOUNDDESIGNER2
#num AF_FILE_AVR
#num AF_FILE_IFF_8SVX
#num AF_FILE_SAMPLEVISION
#num AF_FILE_VOC
#num AF_FILE_NIST_SPHERE
#num AF_FILE_SOUNDFONT2
#num AF_LOOP_MODE_NOLOOP
#num AF_LOOP_MODE_FORW
#num AF_LOOP_MODE_FORWBAKW
#num AF_SAMPFMT_TWOSCOMP
#num AF_SAMPFMT_UNSIGNED
#num AF_SAMPFMT_FLOAT
#num AF_SAMPFMT_DOUBLE
#num AF_INST_LOOP_OFF
#num AF_INST_LOOP_CONTINUOUS
#num AF_INST_LOOP_SUSTAIN
#num AF_INST_MIDI_BASENOTE
#num AF_INST_NUMCENTS_DETUNE
#num AF_INST_MIDI_LONOTE
#num AF_INST_MIDI_HINOTE
#num AF_INST_MIDI_LOVELOCITY
#num AF_INST_MIDI_HIVELOCITY
#num AF_INST_NUMDBS_GAIN
#num AF_INST_SUSLOOPID
#num AF_INST_RELLOOPID
#num AF_INST_SAMP_STARTFRAME
#num AF_INST_SAMP_ENDFRAME
#num AF_INST_SAMP_MODE
#num AF_INST_TRACKID
#num AF_INST_NAME
#num AF_INST_SAMP_RATE
#num AF_INST_PRESETID
#num AF_INST_PRESET_NAME
#num AF_MISC_UNRECOGNIZED
#num AF_MISC_COPY
#num AF_MISC_AUTH
#num AF_MISC_NAME
#num AF_MISC_ANNO
#num AF_MISC_APPL
#num AF_MISC_MIDI
#num AF_MISC_PCMMAP
#num AF_MISC_NeXT
#num AF_MISC_IRCAM_PEAKAMP
#num AF_MISC_IRCAM_COMMENT
#num AF_MISC_COMMENT
#num AF_MISC_ICMT
#num AF_MISC_ICRD
#num AF_MISC_ISFT
#num AF_COMPRESSION_UNKNOWN
#num AF_COMPRESSION_NONE
#num AF_COMPRESSION_G722
#num AF_COMPRESSION_G711_ULAW
#num AF_COMPRESSION_G711_ALAW
#num AF_COMPRESSION_APPLE_ACE2
#num AF_COMPRESSION_APPLE_ACE8
#num AF_COMPRESSION_APPLE_MAC3
#num AF_COMPRESSION_APPLE_MAC6
#num AF_COMPRESSION_G726
#num AF_COMPRESSION_G728
#num AF_COMPRESSION_DVI_AUDIO
#num AF_COMPRESSION_IMA
#num AF_COMPRESSION_GSM
#num AF_COMPRESSION_FS1016
#num AF_COMPRESSION_DV
#num AF_COMPRESSION_MS_ADPCM
#num AF_QUERYTYPE_INSTPARAM
#num AF_QUERYTYPE_FILEFMT
#num AF_QUERYTYPE_COMPRESSION
#num AF_QUERYTYPE_COMPRESSIONPARAM
#num AF_QUERYTYPE_MISC
#num AF_QUERYTYPE_INST
#num AF_QUERYTYPE_MARK
#num AF_QUERYTYPE_LOOP
#num AF_QUERY_NAME
#num AF_QUERY_DESC
#num AF_QUERY_LABEL
#num AF_QUERY_TYPE
#num AF_QUERY_DEFAULT
#num AF_QUERY_ID_COUNT
#num AF_QUERY_IDS
#num AF_QUERY_IMPLEMENTED
#num AF_QUERY_TYPE_COUNT
#num AF_QUERY_TYPES
#num AF_QUERY_NATIVE_SAMPFMT
#num AF_QUERY_NATIVE_SAMPWIDTH
#num AF_QUERY_SQUISHFAC
#num AF_QUERY_MAX_NUMBER
#num AF_QUERY_SUPPORTED
#num AF_QUERY_TRACKS
#num AF_QUERY_CHANNELS
#num AF_QUERY_SAMPLE_SIZES
#num AF_QUERY_SAMPLE_FORMATS
#num AF_QUERY_COMPRESSION_TYPES
#num AF_QUERY_VALUE_COUNT
#num AF_QUERY_VALUES
#num AF_BAD_NOT_IMPLEMENTED
#num AF_BAD_FILEHANDLE
#num AF_BAD_OPEN
#num AF_BAD_CLOSE
#num AF_BAD_READ
#num AF_BAD_WRITE
#num AF_BAD_LSEEK
#num AF_BAD_NO_FILEHANDLE
#num AF_BAD_ACCMODE
#num AF_BAD_NOWRITEACC
#num AF_BAD_NOREADACC
#num AF_BAD_FILEFMT
#num AF_BAD_RATE
#num AF_BAD_CHANNELS
#num AF_BAD_SAMPCNT
#num AF_BAD_WIDTH
#num AF_BAD_SEEKMODE
#num AF_BAD_NO_LOOPDATA
#num AF_BAD_MALLOC
#num AF_BAD_LOOPID
#num AF_BAD_SAMPFMT
#num AF_BAD_FILESETUP
#num AF_BAD_TRACKID
#num AF_BAD_NUMTRACKS
#num AF_BAD_NO_FILESETUP
#num AF_BAD_LOOPMODE
#num AF_BAD_INSTID
#num AF_BAD_NUMLOOPS
#num AF_BAD_NUMMARKS
#num AF_BAD_MARKID
#num AF_BAD_MARKPOS
#num AF_BAD_NUMINSTS
#num AF_BAD_NOAESDATA
#num AF_BAD_MISCID
#num AF_BAD_NUMMISC
#num AF_BAD_MISCSIZE
#num AF_BAD_MISCTYPE
#num AF_BAD_MISCSEEK
#num AF_BAD_STRLEN
#num AF_BAD_RATECONV
#num AF_BAD_SYNCFILE
#num AF_BAD_CODEC_CONFIG
#num AF_BAD_CODEC_STATE
#num AF_BAD_CODEC_LICENSE
#num AF_BAD_CODEC_TYPE
#num AF_BAD_COMPRESSION
#num AF_BAD_COMPTYPE
#num AF_BAD_INSTPTYPE
#num AF_BAD_INSTPID
#num AF_BAD_BYTEORDER
#num AF_BAD_FILEFMT_PARAM
#num AF_BAD_COMP_PARAM
#num AF_BAD_DATAOFFSET
#num AF_BAD_FRAMECNT
#num AF_BAD_QUERYTYPE
#num AF_BAD_QUERY
#num AF_WARNING_CODEC_RATE
#num AF_WARNING_RATECVT
#num AF_BAD_HEADER
#num AF_BAD_FRAME
#num AF_BAD_LOOPCOUNT
#num AF_BAD_DMEDIA_CALL
#num AF_BAD_AIFF_HEADER
#num AF_BAD_AIFF_FORM
#num AF_BAD_AIFF_SSND
#num AF_BAD_AIFF_CHUNKID
#num AF_BAD_AIFF_COMM
#num AF_BAD_AIFF_INST
#num AF_BAD_AIFF_MARK
#num AF_BAD_AIFF_SKIP
#num AF_BAD_AIFF_LOOPMODE
#num AF_ERR_NOT_IMPLEMENTED
#num AF_ERR_BAD_FILEHANDLE
#num AF_ERR_BAD_READ
#num AF_ERR_BAD_WRITE
#num AF_ERR_BAD_LSEEK
#num AF_ERR_BAD_ACCMODE
#num AF_ERR_NO_WRITEACC
#num AF_ERR_NO_READACC
#num AF_ERR_BAD_FILEFMT
#num AF_ERR_BAD_RATE
#num AF_ERR_BAD_CHANNELS
#num AF_ERR_BAD_SAMPCNT
#num AF_ERR_BAD_WIDTH
#num AF_ERR_BAD_SEEKMODE
#num AF_ERR_BAD_LOOPID
#num AF_ERR_BAD_SAMPFMT
#num AF_ERR_BAD_FILESETUP
#num AF_ERR_BAD_TRACKID
#num AF_ERR_BAD_NUMTRACKS
#num AF_ERR_BAD_LOOPMODE
#num AF_ERR_BAD_INSTID
#num AF_ERR_BAD_NUMLOOPS
#num AF_ERR_BAD_NUMMARKS
#num AF_ERR_BAD_MARKID
#num AF_ERR_BAD_MARKPOS
#num AF_ERR_BAD_NUMINSTS
#num AF_ERR_BAD_NOAESDATA
#num AF_ERR_BAD_MISCID
#num AF_ERR_BAD_NUMMISC
#num AF_ERR_BAD_MISCSIZE
#num AF_ERR_BAD_MISCTYPE
#num AF_ERR_BAD_MISCSEEK
#num AF_ERR_BAD_STRLEN
#num AF_ERR_BAD_RATECONV
#num AF_ERR_BAD_SYNCFILE
#num AF_ERR_BAD_CODEC_CONFIG
#num AF_ERR_BAD_CODEC_TYPE
#num AF_ERR_BAD_INSTPTYPE
#num AF_ERR_BAD_INSTPID
#num AF_ERR_BAD_BYTEORDER
#num AF_ERR_BAD_FILEFMT_PARAM
#num AF_ERR_BAD_COMP_PARAM
#num AF_ERR_BAD_DATAOFFSET
#num AF_ERR_BAD_FRAMECNT
#num AF_ERR_BAD_QUERYTYPE
#num AF_ERR_BAD_QUERY
#num AF_ERR_BAD_HEADER
#num AF_ERR_BAD_FRAME
#num AF_ERR_BAD_LOOPCOUNT
#num AF_ERR_BAD_AIFF_HEADER
#num AF_ERR_BAD_AIFF_FORM
#num AF_ERR_BAD_AIFF_SSND
#num AF_ERR_BAD_AIFF_CHUNKID
#num AF_ERR_BAD_AIFF_COMM
#num AF_ERR_BAD_AIFF_INST
#num AF_ERR_BAD_AIFF_MARK
#num AF_ERR_BAD_AIFF_SKIP
#num AF_ERR_BAD_AIFF_LOOPMODE
#ccall afSetErrorHandler, <AFerrfunc> -> IO <AFerrfunc>
#ccall afQuery , CInt -> CInt -> CInt -> CInt -> CInt -> IO <AUpvlist>
#ccall afQueryLong , CInt -> CInt -> CInt -> CInt -> CInt -> IO CLong
#ccall afQueryDouble , CInt -> CInt -> CInt -> CInt -> CInt -> IO CDouble
#ccall afQueryPointer, CInt -> CInt -> CInt -> CInt -> CInt -> IO (Ptr ())
#ccall afNewFileSetup , IO <AFfilesetup>
#ccall afFreeFileSetup , <AFfilesetup> -> IO ()
#ccall afIdentifyFD , CInt -> IO CInt
#ccall afIdentifyNamedFD, CInt -> Ptr CChar -> Ptr CInt -> IO CInt
#ccall afOpenFile , Ptr CChar -> Ptr CChar -> <AFfilesetup> -> IO <AFfilehandle>
#ccall afOpenVirtualFile, Ptr <AFvirtualfile> -> Ptr CChar -> <AFfilesetup> -> IO <AFfilehandle>
#ccall afOpenFD , CInt -> Ptr CChar -> <AFfilesetup> -> IO <AFfilehandle>
#ccall afOpenNamedFD , CInt -> Ptr CChar -> <AFfilesetup> -> Ptr CChar -> IO <AFfilehandle>
-- THINKME: These routines are missing from the current libaudiofile. I don't know why.
-- #ccall afSaveFilePosition , <AFfilehandle> -> IO ()
-- #ccall afRestoreFilePosition, <AFfilehandle> -> IO ()
#ccall afSyncFile , <AFfilehandle> -> IO CInt
#ccall afCloseFile , <AFfilehandle> -> IO CInt
#ccall afInitFileFormat, <AFfilesetup> -> CInt -> IO ()
#ccall afGetFileFormat , <AFfilehandle> -> Ptr CInt -> IO CInt
#ccall afInitTrackIDs, <AFfilesetup> -> Ptr CInt -> CInt -> IO ()
#ccall afGetTrackIDs , <AFfilehandle> -> Ptr CInt -> IO CInt
#ccall afReadFrames , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
#ccall afWriteFrames , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
#ccall afSeekFrame , <AFfilehandle> -> CInt -> <AFframecount> -> IO <AFframecount>
#ccall afTellFrame , <AFfilehandle> -> CInt -> IO <AFframecount>
#ccall afGetTrackBytes , <AFfilehandle> -> CInt -> IO <AFfileoffset>
#ccall afGetFrameSize , <AFfilehandle> -> CInt -> CInt -> IO CFloat
#ccall afGetVirtualFrameSize, <AFfilehandle> -> CInt -> CInt -> IO CFloat
#ccall afInitAESChannelData , <AFfilesetup> -> CInt -> IO ()
#ccall afInitAESChannelDataTo, <AFfilesetup> -> CInt -> CInt -> IO ()
#ccall afGetAESChannelData , <AFfilehandle> -> CInt -> Ptr CUChar -> IO CInt
#ccall afSetAESChannelData , <AFfilehandle> -> CInt -> Ptr CUChar -> IO ()
#ccall afInitByteOrder , <AFfilesetup> -> CInt -> CInt -> IO ()
#ccall afGetByteOrder , <AFfilehandle> -> CInt -> IO CInt
#ccall afSetVirtualByteOrder, <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afGetVirtualByteOrder, <AFfilehandle> -> CInt -> IO CInt
#ccall afInitChannels , <AFfilesetup> -> CInt -> CInt -> IO ()
#ccall afGetChannels , <AFfilehandle> -> CInt -> IO CInt
#ccall afSetVirtualChannels, <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afGetVirtualChannels, <AFfilehandle> -> CInt -> IO CInt
#ccall afSetChannelMatrix , <AFfilehandle> -> CInt -> Ptr CDouble -> IO ()
#ccall afInitSampleFormat , <AFfilesetup> -> CInt -> CInt -> CInt -> IO ()
#ccall afGetSampleFormat , <AFfilehandle> -> CInt -> Ptr CInt -> Ptr CInt -> IO ()
#ccall afGetVirtualSampleFormat, <AFfilehandle> -> CInt -> Ptr CInt -> Ptr CInt -> IO ()
#ccall afSetVirtualSampleFormat, <AFfilehandle> -> CInt -> CInt -> CInt -> IO CInt
#ccall afInitRate, <AFfilesetup> -> CInt -> CDouble -> IO ()
#ccall afGetRate , <AFfilehandle> -> CInt -> IO CDouble
#ccall afInitCompression, <AFfilesetup> -> CInt -> CInt -> IO ()
#ccall afGetCompression , <AFfilehandle> -> CInt -> IO CInt
#ccall afInitPCMMapping , <AFfilesetup> -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
#ccall afGetPCMMapping , <AFfilehandle> -> CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO ()
#ccall afSetTrackPCMMapping , <AFfilehandle> -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt
#ccall afSetVirtualPCMMapping, <AFfilehandle> -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt
#ccall afGetVirtualPCMMapping, <AFfilehandle> -> CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO ()
#ccall afInitDataOffset, <AFfilesetup> -> CInt -> <AFfileoffset> -> IO ()
#ccall afGetDataOffset , <AFfilehandle> -> CInt -> IO <AFfileoffset>
#ccall afInitFrameCount, <AFfilesetup> -> CInt -> <AFframecount> -> IO ()
#ccall afGetFrameCount , <AFfilehandle> -> CInt -> IO <AFframecount>
#ccall afInitLoopIDs , <AFfilesetup> -> CInt -> Ptr CInt -> CInt -> IO ()
#ccall afGetLoopIDs , <AFfilehandle> -> CInt -> Ptr CInt -> IO CInt
#ccall afSetLoopMode , <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
#ccall afGetLoopMode , <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afSetLoopCount, <AFfilehandle> -> CInt -> CInt -> CInt -> IO CInt
#ccall afGetLoopCount, <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afSetLoopStart, <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
#ccall afGetLoopStart, <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afSetLoopEnd , <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
#ccall afGetLoopEnd , <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afSetLoopStartFrame, <AFfilehandle> -> CInt -> CInt -> <AFframecount> -> IO CInt
#ccall afGetLoopStartFrame, <AFfilehandle> -> CInt -> CInt -> IO <AFframecount>
#ccall afSetLoopEndFrame , <AFfilehandle> -> CInt -> CInt -> <AFframecount> -> IO CInt
#ccall afGetLoopEndFrame , <AFfilehandle> -> CInt -> CInt -> IO <AFframecount>
#ccall afSetLoopTrack, <AFfilehandle> -> CInt -> CInt -> CInt -> IO ()
#ccall afGetLoopTrack, <AFfilehandle> -> CInt -> CInt -> IO CInt
#ccall afInitMarkIDs , <AFfilesetup> -> CInt -> Ptr CInt -> CInt -> IO ()
#ccall afGetMarkIDs , <AFfilehandle> -> CInt -> Ptr CInt -> IO CInt
#ccall afSetMarkPosition, <AFfilehandle> -> CInt -> CInt -> <AFframecount> -> IO ()
#ccall afGetMarkPosition, <AFfilehandle> -> CInt -> CInt -> IO <AFframecount>
#ccall afInitMarkName , <AFfilesetup> -> CInt -> CInt -> Ptr CChar -> IO ()
#ccall afInitMarkComment, <AFfilesetup> -> CInt -> CInt -> Ptr CChar -> IO ()
#ccall afGetMarkName , <AFfilehandle> -> CInt -> CInt -> IO (Ptr CChar)
#ccall afGetMarkComment , <AFfilehandle> -> CInt -> CInt -> IO (Ptr CChar)
#ccall afInitInstIDs , <AFfilesetup> -> Ptr CInt -> CInt -> IO ()
#ccall afGetInstIDs , <AFfilehandle> -> Ptr CInt -> IO CInt
#ccall afGetInstParams , <AFfilehandle> -> CInt -> <AUpvlist> -> CInt -> IO ()
#ccall afSetInstParams , <AFfilehandle> -> CInt -> <AUpvlist> -> CInt -> IO ()
#ccall afGetInstParamLong, <AFfilehandle> -> CInt -> CInt -> IO CLong
#ccall afSetInstParamLong, <AFfilehandle> -> CInt -> CInt -> CLong -> IO ()
#ccall afInitMiscIDs , <AFfilesetup> -> Ptr CInt -> CInt -> IO ()
#ccall afGetMiscIDs , <AFfilehandle> -> Ptr CInt -> IO CInt
#ccall afInitMiscType, <AFfilesetup> -> CInt -> CInt -> IO ()
#ccall afGetMiscType , <AFfilehandle> -> CInt -> IO CInt
#ccall afInitMiscSize, <AFfilesetup> -> CInt -> CInt -> IO ()
#ccall afGetMiscSize , <AFfilehandle> -> CInt -> IO CInt
#ccall afWriteMisc , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
#ccall afReadMisc , <AFfilehandle> -> CInt -> Ptr () -> CInt -> IO CInt
#ccall afSeekMisc , <AFfilehandle> -> CInt -> CInt -> IO CInt