00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00032 #ifndef _AFLIBAIFCFILE_H
00033 #define _AFLIBAIFCFILE_H
00034
00035 #include "aflibFile.h"
00036 #include <audiofile.h>
00037
00038 class aflibAifcFile : public aflibFile {
00039
00040 public:
00041
00042 aflibAifcFile();
00043
00044 ~aflibAifcFile();
00045
00046 aflibStatus
00047 afopen(
00048 const char * file,
00049 aflibConfig* cfg);
00050
00051 aflibStatus
00052 afcreate(
00053 const char * file,
00054 const aflibConfig& cfg);
00055
00056 aflibStatus
00057 afread(
00058 aflibData& data,
00059 long long position = -1);
00060
00061 aflibStatus
00062 afwrite(
00063 aflibData& data,
00064 long long position = -1);
00065
00066 bool
00067 isDataSizeSupported(aflib_data_size size);
00068
00069 bool
00070 isEndianSupported(aflib_data_endian end);
00071
00072 bool
00073 isSampleRateSupported(int& rate);
00074
00075 private:
00076
00077 AFfilehandle _handle;
00078 long long _total_samples;
00079 };
00080
00081
00082 #endif