Merge branch 'ct' of git.pipapo.org:cinelerra-ct into ct
[cinelerra_cv/ct.git] / cinelerra / patch.h
blobc12ac6b822259057cebe1743048a5ca8f1daf7c0
1 #ifndef PATCH_H
2 #define PATCH_H
4 class PlayPatchOld;
5 class RecordPatchOld;
6 class TitlePatchOld;
7 class AutoPatchOld;
8 class DrawPatchOld;
10 #include "guicast.h"
11 #include "filexml.inc"
12 #include "mwindow.inc"
13 #include "module.inc"
14 #include "patch.inc"
15 #include "patchbay.inc"
18 // coordinates for widgets
20 #define PATCH_ROW2 23
21 #define PATCH_TITLE 3
22 #define PATCH_PLAY 7
23 #define PATCH_REC 27
24 #define PATCH_AUTO 47
25 #define PATCH_AUTO_TITLE 67
26 #define PATCH_DRAW 72
27 #define PATCH_DRAW_TITLE 97
30 class Patch : public ListItem<Patch>
32 public:
33 Patch() {};
34 Patch(MWindow *mwindow, PatchBay *patchbay, int data_type);
35 ~Patch();
37 int save(FileXML *xml);
38 int load(FileXML *xml);
40 int create_objects(char *text, int pixel); // linked list doesn't allow parameters in append()
41 int set_pixel(int pixel);
42 int set_title(char *new_title);
43 int flip_vertical();
44 int pixelmovement(int distance);
46 int pixel; // distance from top of track window
47 int data_type;
48 int record;
49 int play;
50 int automate;
51 int draw;
52 char title[1024];
68 PatchBay *patches;
69 MWindow *mwindow;
71 RecordPatchOld *recordpatch;
72 PlayPatchOld *playpatch;
73 TitlePatchOld *title_text;
74 AutoPatchOld *autopatch;
75 DrawPatchOld *drawpatch;
76 Module* get_module(); // return module of corresponding patch
79 class PlayPatchOld : public BC_Toggle
81 public:
82 PlayPatchOld(MWindow *mwindow, Patch *patch, int x, int y);
83 int handle_event();
84 int cursor_moved_over();
85 int button_release();
86 PatchBay *patches;
87 Patch *patch;
90 class RecordPatchOld : public BC_Toggle
92 public:
93 RecordPatchOld(MWindow *mwindow, Patch *patch, int x, int y);
94 int handle_event();
95 int cursor_moved_over();
96 int button_release();
97 Patch *patch;
98 PatchBay *patches;
101 class TitlePatchOld : public BC_TextBox
103 public:
104 TitlePatchOld(MWindow *mwindow, Patch *patch, char *text, int x, int y);
105 int handle_event();
106 Patch *patch;
107 PatchBay *patches;
108 Module *module;
111 class AutoPatchOld : public BC_Toggle
113 public:
114 AutoPatchOld(MWindow *mwindow, Patch *patch, int x, int y);
115 int handle_event();
116 int cursor_moved_over();
117 int button_release();
118 PatchBay *patches;
119 Patch *patch;
122 class DrawPatchOld : public BC_Toggle
124 public:
125 DrawPatchOld(MWindow *mwindow, Patch *patch, int x, int y);
126 int handle_event();
127 int cursor_moved_over();
128 PatchBay *patches;
129 Patch *patch;
132 #endif
134 // Local Variables:
135 // mode: C++
136 // c-file-style: "linux"
137 // End: