Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

jezabeltool.h

Go to the documentation of this file.
00001 
00022 #ifndef JezabelTool_included
00023 #define JezabelTool_included
00024 
00026 typedef float JezabelData;
00027 
00029 typedef long long JezabelPosition;
00030 
00032 #define JezabelLengthMax 0x7fffffffffffffff
00033 
00126 class JezabelTool {
00127  public:
00128 
00130   enum JezabelPortType {portInput,portOutput};
00131   
00133   enum JezabelProperty {Property_RealTime = 0x01};
00134   
00137   JezabelTool();
00138   
00140   virtual void activate(){}
00141 
00144   virtual void run(int samples) = 0;
00145   
00148   virtual void seek(JezabelPosition position){}
00149 
00153   virtual JezabelPosition length(){return JezabelLengthMax;}
00154 
00157   virtual void deactivate(){}
00158   
00163   virtual int blockSize(){return 0;}
00164   
00165   virtual ~JezabelTool();
00166 
00168   int numPorts();
00169 
00171   JezabelPortType portType(int port);
00172 
00176   virtual void setBuffer(int port, JezabelData *buffer);
00177 
00180   virtual const char *strerror(){return 0;}
00181   
00182  protected:
00183   
00186   void makePort(JezabelPortType);
00187 
00190   JezabelData *portBuffer(int n);
00191 
00192  public:
00193   class JezabelToolPrivateData *__private;
00194 };
00195 
00196 #endif /* Endeth the file */
00197 
00198 /* EOF */

Generated at Sun Jan 18 20:51:22 2004 for Jezabel by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001