input_mod.h

Go to the documentation of this file.
00001 #ifndef INPUT_MOD_H
00002 #define INPUT_MOD_H
00003 
00004 
00005 #include <dumb.h>
00006 #include "audiere.h"
00007 #include "basic_source.h"
00008 #include "types.h"
00009 
00010 
00011 namespace audiere {
00012 
00013   class MODInputStream : public BasicSource {
00014   public:
00015     MODInputStream();
00016     ~MODInputStream();
00017 
00018     bool initialize(FilePtr file);
00019 
00020     void ADR_CALL getFormat(
00021       int& channel_count,
00022       int& sample_rate,
00023       SampleFormat& sample_format);
00024     void ADR_CALL reset();
00025 
00026     int doRead(int frame_count, void* buffer);
00027 
00028   private:
00029     DUH* openDUH();
00030 
00031     static void* dfs_open(const char* filename);
00032     static int   dfs_skip(void* f, long n);
00033     static int   dfs_getc(void* f);
00034     static long  dfs_getnc(char* ptr, long n, void* f);
00035     static void  dfs_close(void* f);
00036 
00037     static int loopCallback(void* ptr);
00038 
00039   private:
00040     FilePtr          m_file;
00041     DUH*             m_duh;
00042     DUH_SIGRENDERER* m_renderer;
00043   };
00044 
00045 }
00046 
00047 
00048 #endif

Generated on Mon Feb 13 23:07:46 2006 for audiere by  doxygen 1.4.6