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 #ifdef HAVE_CONFIG_H
00036 #include <config.h>
00037 #endif
00038
00039 #include "aflibFile.h"
00040 #include <audiofile.h>
00041
00042 class aflibAifcFile : public aflibFile {
00043
00044 public:
00045
00046 aflibAifcFile();
00047
00048 ~aflibAifcFile();
00049
00050 aflibStatus
00051 afopen(
00052 const char * file,
00053 aflibConfig* cfg);
00054
00055 aflibStatus
00056 afcreate(
00057 const char * file,
00058 const aflibConfig& cfg);
00059
00060 aflibStatus
00061 afread(
00062 aflibData& data,
00063 long long position = -1);
00064
00065 aflibStatus
00066 afwrite(
00067 aflibData& data,
00068 long long position = -1);
00069
00070 bool
00071 isDataSizeSupported(aflib_data_size size);
00072
00073 bool
00074 isEndianSupported(aflib_data_endian end);
00075
00076 bool
00077 isSampleRateSupported(int& rate);
00078
00079 private:
00080
00081 AFfilehandle _handle;
00082 long long _total_samples;
00083 };
00084
00085
00086 #endif