00001
00002
00003
00004
00005
00008
00009 #define _PATTERN_H_
00012 #include "elektrodef.h"
00013 #include "table.h"
00016
00017 #define guidPATTERN (Apattern::CI.guid)
00018 #define MAXTRACK MAXCONTROL
00019
00022
00023 class Apattern : public Aobject
00024 {
00025 public:
00026 ELIBOBJ
00027
00028 EDLL Apattern (char *name, Aobject *l, class Atable *t, int x, int y, int w, int h);
00029 EDLL virtual ~Apattern ();
00030
00031 EDLL virtual void paint (Abitmap *);
00032 EDLL virtual bool notify (Anode *o, int event, dword p=0);
00033 EDLL virtual bool mouse (int x, int y, int state, int event);
00034
00035 EDLL bool save (Afile *f);
00036 EDLL bool load (Afile *f);
00037
00038
00039 EDLL bool action (int time, int dtime);
00040 EDLL class Atrack * addTrack (class Acontrol *control);
00041 EDLL void delTrack (class Acontrol *control);
00042 EDLL void delTrackEffect (class Aeffect *e);
00043 void calcTrackZone ();
00044 EDLL void record (class Acontrol *control, int ctrl, int value, int time);
00045
00046 int wy,ly;
00047 bool bac;
00048
00049 class Atable *table;
00050 class Atrack *tracks[MAXTRACK];
00051 int nbtracks;
00052 Asection section;
00053
00054 class Aevent *efirst;
00055 class Aevent *elast;
00056 class Aevent *ecur;
00057 };
00058
00061 #endif //_PATTERN_H