Merge branch 'ct' of git.pipapo.org:cinelerra-ct into ct
[cinelerra_cv/ct.git] / cinelerra / new.h
blob31f20559a96f4502f7449649ab117fc0be983b96
1 #ifndef NEW_H
2 #define NEW_H
4 #include "assets.inc"
5 #include "edl.inc"
6 #include "file.inc"
7 #include "filexml.inc"
8 #include "guicast.h"
9 #include "bchash.inc"
10 #include "formatpresets.h"
11 #include "mwindow.inc"
12 #include "thread.h"
14 class NewThread;
15 class NewWindow;
16 class NewPresets;
17 class InterlacemodePulldown;
19 class New : public BC_MenuItem
21 public:
22 New(MWindow *mwindow);
23 int create_objects();
25 int handle_event();
26 int run_script(FileXML *script);
27 int create_new_project();
29 MWindow *mwindow;
30 NewThread *thread;
31 EDL *new_edl;
33 private:
34 void create_new_edl();
35 FileXML *script;
38 class NewThread : public Thread
40 public:
41 NewThread(MWindow *mwindow, New *new_project);
42 ~NewThread();
44 void run();
46 int load_defaults();
47 int save_defaults();
48 int update_aspect();
49 int auto_aspect;
50 int auto_sizes;
51 NewWindow *nwindow;
52 MWindow *mwindow;
53 New *new_project;
54 Mutex *window_lock;
57 class NewWindow : public BC_Window
59 public:
60 NewWindow(MWindow *mwindow, NewThread *new_thread, int x, int y);
61 ~NewWindow();
63 int create_objects();
64 int update();
66 MWindow *mwindow;
67 NewThread *new_thread;
68 EDL *new_edl;
69 BC_TextBox *atracks;
70 BC_TextBox *achannels;
71 BC_TextBox *sample_rate;
72 BC_TextBox *vtracks;
73 BC_TextBox *vchannels;
74 BC_TextBox *frame_rate;
75 BC_TextBox *aspect_w_text, *aspect_h_text;
76 BC_TextBox *output_w_text, *output_h_text;
77 InterlacemodePulldown *interlace_pulldown;
78 NewPresets *format_presets;
81 class NewPresets : public FormatPresets
83 public:
84 NewPresets(MWindow *mwindow, NewWindow *gui, int x, int y);
85 ~NewPresets();
86 int handle_event();
87 EDL* get_edl();
91 class NewSwapExtents : public BC_Button
93 public:
94 NewSwapExtents(MWindow *mwindow, NewWindow *gui, int x, int y);
95 int handle_event();
96 MWindow *mwindow;
97 NewWindow *gui;
102 class NewATracks : public BC_TextBox
104 public:
105 NewATracks(NewWindow *nwindow, char *text, int x, int y);
106 int handle_event();
107 NewWindow *nwindow;
110 class NewATracksTumbler : public BC_Tumbler
112 public:
113 NewATracksTumbler(NewWindow *nwindow, int x, int y);
114 int handle_up_event();
115 int handle_down_event();
116 NewWindow *nwindow;
119 class NewAChannels : public BC_TextBox
121 public:
122 NewAChannels(NewWindow *nwindow, char *text, int x, int y);
123 int handle_event();
124 NewWindow *nwindow;
127 class NewAChannelsTumbler : public BC_Tumbler
129 public:
130 NewAChannelsTumbler(NewWindow *nwindow, int x, int y);
131 int handle_up_event();
132 int handle_down_event();
133 NewWindow *nwindow;
136 class NewSampleRate : public BC_TextBox
138 public:
139 NewSampleRate(NewWindow *nwindow, char *text, int x, int y);
140 int handle_event();
141 NewWindow *nwindow;
145 class SampleRatePulldown : public BC_ListBox
147 public:
148 SampleRatePulldown(MWindow *mwindow, BC_TextBox *output, int x, int y);
149 int handle_event();
150 MWindow *mwindow;
151 BC_TextBox *output;
161 class NewVTracks : public BC_TextBox
163 public:
164 NewVTracks(NewWindow *nwindow, char *text, int x, int y);
165 int handle_event();
166 NewWindow *nwindow;
169 class NewVTracksTumbler : public BC_Tumbler
171 public:
172 NewVTracksTumbler(NewWindow *nwindow, int x, int y);
173 int handle_up_event();
174 int handle_down_event();
175 NewWindow *nwindow;
178 class NewVChannels : public BC_TextBox
180 public:
181 NewVChannels(NewWindow *nwindow, char *text, int x, int y);
182 int handle_event();
183 NewWindow *nwindow;
186 class NewVChannelsTumbler : public BC_Tumbler
188 public:
189 NewVChannelsTumbler(NewWindow *nwindow, int x, int y);
190 int handle_up_event();
191 int handle_down_event();
192 NewWindow *nwindow;
195 class NewFrameRate : public BC_TextBox
197 public:
198 NewFrameRate(NewWindow *nwindow, char *text, int x, int y);
199 int handle_event();
200 NewWindow *nwindow;
203 class FrameRatePulldown : public BC_ListBox
205 public:
206 FrameRatePulldown(MWindow *mwindow, BC_TextBox *output, int x, int y);
207 int handle_event();
208 MWindow *mwindow;
209 BC_TextBox *output;
212 class NewTrackW : public BC_TextBox
214 public:
215 NewTrackW(NewWindow *nwindow, int x, int y);
216 int handle_event();
217 NewWindow *nwindow;
220 class NewTrackH : public BC_TextBox
222 public:
223 NewTrackH(NewWindow *nwindow, int x, int y);
224 int handle_event();
225 NewWindow *nwindow;
228 class FrameSizePulldown : public BC_ListBox
230 public:
231 FrameSizePulldown(MWindow *mwindow,
232 BC_TextBox *output_w,
233 BC_TextBox *output_h,
234 int x,
235 int y);
236 int handle_event();
237 MWindow *mwindow;
238 BC_TextBox *output_w;
239 BC_TextBox *output_h;
242 class NewOutputW : public BC_TextBox
244 public:
245 NewOutputW(NewWindow *nwindow, int x, int y);
246 int handle_event();
247 NewWindow *nwindow;
250 class NewOutputH : public BC_TextBox
252 public:
253 NewOutputH(NewWindow *nwindow, int x, int y);
254 int handle_event();
255 NewWindow *nwindow;
258 class NewAspectAuto : public BC_CheckBox
260 public:
261 NewAspectAuto(NewWindow *nwindow, int x, int y);
262 ~NewAspectAuto();
263 int handle_event();
264 NewWindow *nwindow;
267 class NewAspectW : public BC_TextBox
269 public:
270 NewAspectW(NewWindow *nwindow, char *text, int x, int y);
271 int handle_event();
272 NewWindow *nwindow;
275 class NewAspectH : public BC_TextBox
277 public:
278 NewAspectH(NewWindow *nwindow, char *text, int x, int y);
279 int handle_event();
280 NewWindow *nwindow;
283 class AspectPulldown : public BC_ListBox
285 public:
286 AspectPulldown(MWindow *mwindow,
287 BC_TextBox *output_w,
288 BC_TextBox *output_h,
289 int x,
290 int y);
291 int handle_event();
292 MWindow *mwindow;
293 BC_TextBox *output_w;
294 BC_TextBox *output_h;
297 class ColormodelItem : public BC_ListBoxItem
299 public:
300 ColormodelItem(char *text, int value);
301 int value;
304 class ColormodelPulldown : public BC_ListBox
306 public:
307 ColormodelPulldown(MWindow *mwindow,
308 BC_TextBox *output_text,
309 int *output_value,
310 int x,
311 int y);
312 int handle_event();
313 char* colormodel_to_text();
314 MWindow *mwindow;
315 BC_TextBox *output_text;
316 int *output_value;
319 class InterlacemodeItem : public BC_ListBoxItem
321 public:
322 InterlacemodeItem(char *text, int value);
323 int value;
326 class InterlacemodePulldown : public BC_ListBox
328 public:
329 InterlacemodePulldown(MWindow *mwindow,
330 BC_TextBox *output_text,
331 int *output_value,
332 ArrayList<BC_ListBoxItem*> *data,
333 int x,
334 int y);
335 int handle_event();
336 char* interlacemode_to_text();
337 int update(int value);
338 MWindow *mwindow;
339 BC_TextBox *output_text;
340 int *output_value;
341 private:
342 char string[BCTEXTLEN];
345 class InterlacefixmethodItem : public BC_ListBoxItem
347 public:
348 InterlacefixmethodItem(char *text, int value);
349 int value;
352 class InterlacefixmethodPulldown : public BC_ListBox
354 public:
355 InterlacefixmethodPulldown(MWindow *mwindow,
356 BC_TextBox *output_text,
357 int *output_value,
358 ArrayList<BC_ListBoxItem*> *data,
359 int x,
360 int y);
361 int handle_event();
362 char* interlacefixmethod_to_text();
363 MWindow *mwindow;
364 BC_TextBox *output_text;
365 int *output_value;
366 private:
367 char string[BCTEXTLEN];
371 #endif
373 // Local Variables:
374 // mode: C++
375 // c-file-style: "linux"
376 // End: