packages feed

bindings-audiofile-0.1.0.2: Bindings/AudioFile.hsc

#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