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

jezabelpatchtool.h

00001 /*
00002    Copyright 2002 Kenneth L. McMillan
00003    
00004    This software is made available under the terms of the GNU
00005    General Public License (LGPL), version 2, or any later version
00006    published by the Free Software Foundation, at your option. You
00007    should have received a copy of this license along with the
00008    software. If not, please contact the Free Software Foundation, Inc.
00009    59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00010 
00011    Reproduction, modification or other use of this software except
00012    under the terms of the LGPL is prohibited.
00013 
00014 */
00015 
00016 
00017 #ifndef JezabelPatchTool_included
00018 #define JezabelPatchTool_included
00019 
00020 #include <vector>
00021 #include <jezabeltool.h>
00022 
00023 /* for internal use */
00024 
00025 struct JezabelPatchToolConnection {
00026   int child,port,chan;
00027 };
00028 
00051 class JezabelPatchTool : public JezabelTool {
00052  public:
00053   
00056   JezabelPatchTool(int input_ports, int output_ports);
00057   
00058   virtual void activate();
00059   virtual void run(int samples);
00060   virtual void seek(JezabelPosition position);
00061   virtual JezabelPosition length();
00062   virtual void deactivate();
00063   virtual int blockSize();
00064   virtual const char *strerror();
00065   virtual void setBuffer(int port, JezabelData *buffer);
00066   virtual ~JezabelPatchTool();
00067   
00072   void addChild(JezabelTool *child);
00073 
00078   void connectChild(int nChild, int nPort, int nChan);
00079   
00080  protected:
00081   int input_ports, output_ports;
00082   vector<JezabelTool *> children;
00083   int theBlockSize;
00084   bool configured;
00085   vector<JezabelData *> buffers;
00086   vector<JezabelPatchToolConnection> ioConnections;
00087 };
00088 
00089 #endif /* Endeth the file */
00090 
00091 /* EOF */

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