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

effect.h

Go to the documentation of this file.
00001 
00002 
00003 //
00004 //      EFFECT.H                                        (c)     YoY'01                                          WEB: www.aestesis.org
00005 //
00008 #ifndef                                                 _EFFECT_H_
00009 #define                                                 _EFFECT_H_
00012 #include                                                "elektrodef.h"
00015 
00016 //      If you use directly the variables in the class API, it's at your own risks. Prefer the methods...   
00017 
00020 
00021 #define                                                 guidEFFECT                                              (Aeffect::CI.guid)
00022 
00025 
00026 #define                                                 effectWIDTH                                             512
00027 
00030 
00031 class Aeffect : public Anode
00032 {
00033 public:
00034         ELIBOBJ
00035 
00036         EDLL                                            Aeffect                                                 (char *name, class Atable *t);
00037         EDLL virtual                            ~Aeffect                                                ();
00038 
00039         virtual bool                            action                                                  (int time, int dtime)                   { return TRUE; }
00040 
00041         virtual void                            settings                                                ()                                                              { }
00042 
00043         virtual bool                            save                                                    (Afile *f)                                              { return TRUE; }
00044         virtual bool                            load                                                    (Afile *f)                                              { return TRUE; }
00045 
00046         EDLL static Aeffect *           getEffect                                               (Aobject *o);
00047 
00048         class Atable                            *table;
00049         class AeffectFront                      *front;
00050         class AeffectBack                       *back;
00051 
00052         int                                                     id;
00053 };
00054 
00057 
00058 class AeffectFront : public Aobject
00059 {
00060 public:
00061         ELIBOBJ
00062 
00063         EDLL                                            AeffectFront                                    (char *name, class Aeffect *t, int h);
00064         EDLL virtual                            ~AeffectFront                                   ();
00065 
00066         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p);
00067 
00068         Aeffect                                         *effect;
00069 };
00070 
00073 
00074 class AeffectBack : public Aobject
00075 {
00076 public:
00077         ELIBOBJ
00078 
00079         EDLL                                            AeffectBack                                             (char *name, class Aeffect *t, int h);
00080         EDLL virtual                            ~AeffectBack                                    ();
00081 
00082         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p);
00083 
00084         Aeffect                                         *effect;
00085 };
00086 
00089 
00090 class AeffectInfo : public Aplugz
00091 {
00092 public:
00093         ELIBOBJ 
00094 
00095                                                                 AeffectInfo                                             (char *name, ACI *eci, char *ename, char *ehelp);
00096 
00097         EDLL virtual Aeffect *          create                                                  (char *name, Atable *table)=0;
00098 };
00099 
00101 
00102 __inline AeffectInfo::AeffectInfo(char *name, ACI *eci, char *ename, char *ehelp) : Aplugz(name, eci, ename, ehelp)
00103 {
00104 }
00105 
00108 #endif                                                  //_EFFECT_H

Generated on Tue Nov 20 10:21:25 2001 for elektronika plugz SDK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001