From e0c9898b4d9b43e57965b0c49f5d41d92c9517a1 Mon Sep 17 00:00:00 2001 From: PHO Date: Tue, 19 Oct 2010 23:50:11 +0900 Subject: [PATCH] audiofile.h --- Bindings/AudioFile.hsc | 406 +++++++++++++++++++++++++++++++++++++++ bindings-audiofile.cabal | 1 + 2 files changed, 407 insertions(+) create mode 100644 Bindings/AudioFile.hsc diff --git a/Bindings/AudioFile.hsc b/Bindings/AudioFile.hsc new file mode 100644 index 0000000..c06d927 --- /dev/null +++ b/Bindings/AudioFile.hsc @@ -0,0 +1,406 @@ +#include +#include + +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, -> IO + +#ccall afQuery , CInt -> CInt -> CInt -> CInt -> CInt -> IO +#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 +#ccall afFreeFileSetup , -> IO () +#ccall afIdentifyFD , CInt -> IO CInt +#ccall afIdentifyNamedFD, CInt -> Ptr CChar -> Ptr CInt -> IO CInt + +#ccall afOpenFile , Ptr CChar -> Ptr CChar -> -> IO +#ccall afOpenVirtualFile, Ptr -> Ptr CChar -> -> IO +#ccall afOpenFD , CInt -> Ptr CChar -> -> IO +#ccall afOpenNamedFD , CInt -> Ptr CChar -> -> Ptr CChar -> IO + +#ccall afSaveFilePosition , -> IO () +#ccall afRestoreFilePosition, -> IO () +#ccall afSyncFile , -> IO CInt +#ccall afCloseFile , -> IO CInt + +#ccall afInitFileFormat, -> CInt -> IO () +#ccall afGetFileFormat , -> Ptr CInt -> IO CInt + +#ccall afInitTrackIDs, -> Ptr CInt -> CInt -> IO () +#ccall afGetTrackIDs , -> Ptr CInt -> IO CInt + +#ccall afReadFrames , -> CInt -> Ptr () -> CInt -> IO CInt +#ccall afWriteFrames , -> CInt -> Ptr () -> CInt -> IO CInt +#ccall afSeekFrame , -> CInt -> -> IO +#ccall afTellFrame , -> CInt -> IO +#ccall afGetTrackBytes , -> CInt -> IO +#ccall afGetFrameSize , -> CInt -> CInt -> IO CFloat +#ccall afGetVirtualFrameSize, -> CInt -> CInt -> IO CFloat + +#ccall afInitAESChannelData , -> CInt -> IO () +#ccall afInitAESChannelDataTo, -> CInt -> CInt -> IO () +#ccall afGetAESChannelData , -> CInt -> Ptr CUChar -> IO CInt +#ccall afSetAESChannelData , -> CInt -> Ptr CUChar -> IO () + +#ccall afInitByteOrder , -> CInt -> CInt -> IO () +#ccall afGetByteOrder , -> CInt -> IO CInt +#ccall afSetVirtualByteOrder, -> CInt -> CInt -> IO CInt +#ccall afGetVirtualByteOrder, -> CInt -> IO CInt + +#ccall afInitChannels , -> CInt -> CInt -> IO () +#ccall afGetChannels , -> CInt -> IO CInt +#ccall afSetVirtualChannels, -> CInt -> CInt -> IO CInt +#ccall afGetVirtualChannels, -> CInt -> IO CInt +#ccall afSetChannelMatrix , -> CInt -> Ptr CDouble -> IO () + +#ccall afInitSampleFormat , -> CInt -> CInt -> CInt -> IO () +#ccall afGetSampleFormat , -> CInt -> Ptr CInt -> Ptr CInt -> IO () +#ccall afGetVirtualSampleFormat, -> CInt -> Ptr CInt -> Ptr CInt -> IO () +#ccall afSetVirtualSampleFormat, -> CInt -> CInt -> CInt -> IO CInt + +#ccall afInitRate, -> CInt -> CDouble -> IO () +#ccall afGetRate , -> CInt -> IO CDouble + +#ccall afInitCompression, -> CInt -> CInt -> IO () +#ccall afGetCompression , -> CInt -> IO CInt + +#ccall afInitPCMMapping , -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO () +#ccall afGetPCMMapping , -> CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO () +#ccall afSetTrackPCMMapping , -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt +#ccall afSetVirtualPCMMapping, -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt +#ccall afGetVirtualPCMMapping, -> CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO () + +#ccall afInitDataOffset, -> CInt -> -> IO () +#ccall afGetDataOffset , -> CInt -> IO + +#ccall afInitFrameCount, -> CInt -> -> IO () +#ccall afGetFrameCount , -> CInt -> IO + +#ccall afInitLoopIDs , -> CInt -> Ptr CInt -> CInt -> IO () +#ccall afGetLoopIDs , -> CInt -> Ptr CInt -> IO CInt +#ccall afSetLoopMode , -> CInt -> CInt -> CInt -> IO () +#ccall afGetLoopMode , -> CInt -> CInt -> IO CInt +#ccall afSetLoopCount, -> CInt -> CInt -> CInt -> IO CInt +#ccall afGetLoopCount, -> CInt -> CInt -> IO CInt +#ccall afSetLoopStart, -> CInt -> CInt -> CInt -> IO () +#ccall afGetLoopStart, -> CInt -> CInt -> IO CInt +#ccall afSetLoopEnd , -> CInt -> CInt -> CInt -> IO () +#ccall afGetLoopEnd , -> CInt -> CInt -> IO CInt + +#ccall afSetLoopStartFrame, -> CInt -> CInt -> -> IO CInt +#ccall afGetLoopStartFrame, -> CInt -> CInt -> IO +#ccall afSetLoopEndFrame , -> CInt -> CInt -> -> IO CInt +#ccall afGetLoopEndFrame , -> CInt -> CInt -> IO + +#ccall afSetLoopTrack, -> CInt -> CInt -> CInt -> IO () +#ccall afGetLoopTrack, -> CInt -> CInt -> IO CInt + +#ccall afInitMarkIDs , -> CInt -> Ptr CInt -> CInt -> IO () +#ccall afGetMarkIDs , -> CInt -> Ptr CInt -> IO CInt +#ccall afSetMarkPosition, -> CInt -> CInt -> -> IO () +#ccall afGetMarkPosition, -> CInt -> CInt -> IO +#ccall afInitMarkName , -> CInt -> CInt -> Ptr CChar -> IO () +#ccall afInitMarkComment, -> CInt -> CInt -> Ptr CChar -> IO () +#ccall afGetMarkName , -> CInt -> CInt -> IO (Ptr CChar) +#ccall afGetMarkComment , -> CInt -> CInt -> IO (Ptr CChar) + +#ccall afInitInstIDs , -> Ptr CInt -> CInt -> IO () +#ccall afGetInstIDs , -> Ptr CInt -> IO CInt +#ccall afGetInstParams , -> CInt -> -> CInt -> IO () +#ccall afSetInstParams , -> CInt -> -> CInt -> IO () +#ccall afGetInstParamLong, -> CInt -> CInt -> IO CLong +#ccall afSetInstParamLong, -> CInt -> CInt -> CLong -> IO () + +#ccall afInitMiscIDs , -> Ptr CInt -> CInt -> IO () +#ccall afGetMiscIDs , -> Ptr CInt -> IO CInt +#ccall afInitMiscType, -> CInt -> CInt -> IO () +#ccall afGetMiscType , -> CInt -> IO CInt +#ccall afInitMiscSize, -> CInt -> CInt -> IO () +#ccall afGetMiscSize , -> CInt -> IO CInt +#ccall afWriteMisc , -> CInt -> Ptr () -> CInt -> IO CInt +#ccall afReadMisc , -> CInt -> Ptr () -> CInt -> IO CInt +#ccall afSeekMisc , -> CInt -> CInt -> IO CInt diff --git a/bindings-audiofile.cabal b/bindings-audiofile.cabal index 6c981a8..9e3af30 100644 --- a/bindings-audiofile.cabal +++ b/bindings-audiofile.cabal @@ -29,6 +29,7 @@ Library audiofile >= 0.2.7 Exposed-Modules: + Bindings.AudioFile Bindings.AudioFile.VFS Bindings.AudioFile.PVList -- 2.40.0