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