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

# table.h

Go to the documentation of this file.

    00001
    00002
    00003 //
    00004 //      table.H                                 (c)     YoY'00                                          WEB: www.aestesis.org
    00005 //
    00008 #ifndef                                                 _TABLE_H_
    00009 #define                                                 _TABLE_H_
    00012 #include                                                "elektrodef.h"
    00013 #include                                                "thread.h"
    00016
    00017 #define                                                 guidtable                                               (Atable::CI.guid)
    00018 #define                                                 guidtableFront                                  (AtableFront::CI.guid)
    00019 #define                                                 guidtableBack                                   (AtableBack::CI.guid)
    00020
    00023
    00024 #define                                                 MAXEFFECTINFO                                   1024
    00025 #define                                                 MAXEFFECT                                               1024
    00026 #define                                                 MAXCONTROL                                              MAXEFFECT*16
    00027
    00030
    00031 class Atable : public Aobject, public Athread
    00032 {
    00033 public:
    00034         ELIBOBJ
    00035
    00036         EDLL                                            Atable                                                  (char *name, Aobject *l, int x, int y, int w, int h);
    00037         EDLL virtual                            ~Atable                                                 ();
    00038
    00039         EDLL virtual void                       paint                                                   (Abitmap *);
    00040         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p=0);
    00041         EDLL virtual bool                       size                                                    (int w, int h);
    00042
    00043         EDLL virtual bool                       add                                                             (class Aplugz *ei);
    00044
    00045         EDLL virtual bool                       add                                                             (class Apin *p);
    00046         EDLL virtual bool                       del                                                             (class Apin *p);
    00047
    00048         EDLL virtual bool                       add                                                             (class Aconnect *c);
    00049         EDLL virtual bool                       del                                                             (class Aconnect *c);
    00050
    00051         EDLL virtual bool                       del                                                             (class Aeffect *e);
    00052
    00053         EDLL void                                       arrange                                                 ();
    00054         EDLL void                                       order                                                   ();
    00055         EDLL void                                       clear                                                   ();
    00056
    00057         EDLL bool                                       stop                                                    ();
    00058         EDLL virtual void                       run                                                             ();
    00059
    00060         EDLL virtual int                        getTime                                                 ();
    00061
    00062         EDLL virtual void                       settings                                                ();
    00063
    00064         EDLL bool                                       save                                                    (Afile *f);
    00065         EDLL bool                                       load                                                    (Afile *f);
    00066
    00067
    00068         EDLL bool                                       add                                                             (class Acontrol *c);
    00069         EDLL void                                       del                                                             (class Acontrol *c);
    00070         EDLL bool                                       record                                                  (class Acontrol *c, int ctrl, int value);
    00071
    00072         // video
    00073
    00074         int                                                     bpmPhase;
    00075         int                                                     bpmFreq;
    00076         int                                                     videoW;
    00077         int                                                     videoH;
    00078         int                                                     frameRate;
    00079         bool                                            render;
    00080         bool                                            recording;
    00081
    00082         class Aitem                                     *plugz;
    00083
    00084         char                                            rootdir[MAX_PATH];
    00085
    00086         // private
    00087
    00088         bool                                            test                                                    (class Aeffect *e0, class Aeffect *e1);
    00089
    00090
    00091         class Aitem                                     *effectItems;
    00092         class AeffectInfo                       *effectInfo[MAXEFFECTINFO];
    00093         int                                                     nbEffectInfo;
    00094         class Aeffect                           *effect[MAXEFFECT];
    00095         int                                                     nbEffect;
    00096         class Aeffect                           *effectOrder[MAXEFFECT];
    00097         int                                                     nbEffectOrder;
    00098         class Acontrol                          *control[MAXCONTROL];
    00099         int                                                     nbControl;
    00100
    00101         class Apin                                      *pins;
    00102         class Aconnect                          *connects;
    00103
    00104         int                                                     nbPins;
    00105         int                                                     idEffect;
    00106
    00107         class Aobject                           *layer;
    00108         class AtableFront                       *front;
    00109         class AtableBack                        *back;
    00110         class AtableSelect                      *select;
    00111         class Apattern                          *pattern;
    00112
    00113         class Amapping                          *mapping;
    00114
    00115         Asection                                        synchronize;
    00116         bool                                            running;
    00117         int                                                     timeStart;
    00118         int                                                     timeCurrent;
    00119
    00120 };
    00121
    00124
    00125 class AtableFront : public Aobject
    00126 {
    00127 public:
    00128         ELIBOBJ
    00129
    00130         EDLL                                            AtableFront                                             (char *name, Aobject *l, Atable *t, int x, int y, int w, int h);
    00131         EDLL virtual                            ~AtableFront                                    ();
    00132
    00133         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p=0);
    00134         EDLL virtual bool                       mouse                                                   (int x, int y, int state, int event);
    00135
    00136         int                                                     wy,ly;
    00137         bool                                            bac;
    00138
    00139         Atable                                          *table;
    00140 };
    00141
    00144
    00145 class AtableBack : public Aobject
    00146 {
    00147 public:
    00148         ELIBOBJ
    00149
    00150         EDLL                                            AtableBack                                              (char *name, Aobject *l, Atable *t, int x, int y, int w, int h);
    00151         EDLL virtual                            ~AtableBack                                             ();
    00152
    00153         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p=0);
    00154         EDLL virtual bool                       mouse                                                   (int x, int y, int state, int event);
    00155         EDLL virtual void                       update                                                  (Abitmap *b);
    00156
    00157         int                                                     wy,ly;
    00158         bool                                            bac;
    00159
    00160         Atable                                          *table;
    00161
    00162 // connect mode
    00163         Apin                                            *fromPin;
    00164         int                                                     fromX,fromY;
    00165         Apin                                            *toPin;
    00166         int                                                     toX,toY;
    00167
    00168         void                                            drawConnects                                    (Abitmap *b);
    00169 };
    00170
    00173 #endif                                                  //_TABLE_H