4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #include "filexml.inc"
32 #include "formatpresets.h"
33 #include "mwindow.inc"
38 class InterlacemodePulldown;
39 class ColormodelPulldown;
41 class New : public BC_MenuItem
44 New(MWindow *mwindow);
47 void create_objects();
49 int run_script(FileXML *script);
50 int create_new_project();
51 void create_new_edl();
61 class NewThread : public BC_DialogThread
64 NewThread(MWindow *mwindow, New *new_project);
68 void handle_close_event(int result);
80 class NewWindow : public BC_Window
83 NewWindow(MWindow *mwindow, NewThread *new_thread, int x, int y);
86 void create_objects();
90 NewThread *new_thread;
93 BC_TextBox *achannels;
94 BC_TextBox *sample_rate;
96 BC_TextBox *vchannels;
97 BC_TextBox *frame_rate;
98 BC_TextBox *aspect_w_text, *aspect_h_text;
99 BC_TextBox *output_w_text, *output_h_text;
100 InterlacemodePulldown *interlace_pulldown;
101 ColormodelPulldown *color_model;
102 NewPresets *format_presets;
105 class NewPresets : public FormatPresets
108 NewPresets(MWindow *mwindow, NewWindow *gui, int x, int y);
115 class NewSwapExtents : public BC_Button
118 NewSwapExtents(MWindow *mwindow, NewWindow *gui, int x, int y);
126 class NewATracks : public BC_TextBox
129 NewATracks(NewWindow *nwindow, const char *text, int x, int y);
134 class NewATracksTumbler : public BC_Tumbler
137 NewATracksTumbler(NewWindow *nwindow, int x, int y);
138 int handle_up_event();
139 int handle_down_event();
143 class NewAChannels : public BC_TextBox
146 NewAChannels(NewWindow *nwindow, const char *text, int x, int y);
151 class NewAChannelsTumbler : public BC_Tumbler
154 NewAChannelsTumbler(NewWindow *nwindow, int x, int y);
155 int handle_up_event();
156 int handle_down_event();
160 class NewSampleRate : public BC_TextBox
163 NewSampleRate(NewWindow *nwindow, const char *text, int x, int y);
169 class SampleRatePulldown : public BC_ListBox
172 SampleRatePulldown(MWindow *mwindow, BC_TextBox *output, int x, int y);
185 class NewVTracks : public BC_TextBox
188 NewVTracks(NewWindow *nwindow, const char *text, int x, int y);
193 class NewVTracksTumbler : public BC_Tumbler
196 NewVTracksTumbler(NewWindow *nwindow, int x, int y);
197 int handle_up_event();
198 int handle_down_event();
202 class NewVChannels : public BC_TextBox
205 NewVChannels(NewWindow *nwindow, const char *text, int x, int y);
210 class NewVChannelsTumbler : public BC_Tumbler
213 NewVChannelsTumbler(NewWindow *nwindow, int x, int y);
214 int handle_up_event();
215 int handle_down_event();
219 class NewFrameRate : public BC_TextBox
222 NewFrameRate(NewWindow *nwindow, const char *text, int x, int y);
227 class FrameRatePulldown : public BC_ListBox
230 FrameRatePulldown(MWindow *mwindow, BC_TextBox *output, int x, int y);
236 class NewTrackW : public BC_TextBox
239 NewTrackW(NewWindow *nwindow, int x, int y);
244 class NewTrackH : public BC_TextBox
247 NewTrackH(NewWindow *nwindow, int x, int y);
252 class FrameSizePulldown : public BC_ListBox
255 FrameSizePulldown(Theme *theme,
256 BC_TextBox *output_w,
257 BC_TextBox *output_h,
262 BC_TextBox *output_w;
263 BC_TextBox *output_h;
266 class NewOutputW : public BC_TextBox
269 NewOutputW(NewWindow *nwindow, int x, int y);
274 class NewOutputH : public BC_TextBox
277 NewOutputH(NewWindow *nwindow, int x, int y);
282 class NewAspectAuto : public BC_CheckBox
285 NewAspectAuto(NewWindow *nwindow, int x, int y);
291 class NewAspectW : public BC_TextBox
294 NewAspectW(NewWindow *nwindow, const char *text, int x, int y);
299 class NewAspectH : public BC_TextBox
302 NewAspectH(NewWindow *nwindow, const char *text, int x, int y);
307 class AspectPulldown : public BC_ListBox
310 AspectPulldown(MWindow *mwindow,
311 BC_TextBox *output_w,
312 BC_TextBox *output_h,
317 BC_TextBox *output_w;
318 BC_TextBox *output_h;
321 class ColormodelItem : public BC_ListBoxItem
324 ColormodelItem(const char *text, int value);
328 class ColormodelPulldown : public BC_ListBox
331 ColormodelPulldown(MWindow *mwindow,
332 BC_TextBox *output_text,
337 const char* colormodel_to_text();
338 void update_value(int value);
340 BC_TextBox *output_text;
344 class InterlacemodeItem : public BC_ListBoxItem
347 InterlacemodeItem(const char *text, int value);
351 class InterlacemodePulldown : public BC_ListBox
354 InterlacemodePulldown(MWindow *mwindow,
355 BC_TextBox *output_text,
357 ArrayList<BC_ListBoxItem*> *data,
361 const char* interlacemode_to_text();
362 int update(int value);
364 BC_TextBox *output_text;
367 char string[BCTEXTLEN];
370 class InterlacefixmethodItem : public BC_ListBoxItem
373 InterlacefixmethodItem(const char *text, int value);
377 class InterlacefixmethodPulldown : public BC_ListBox
380 InterlacefixmethodPulldown(MWindow *mwindow,
381 BC_TextBox *output_text,
383 ArrayList<BC_ListBoxItem*> *data,
387 const char* interlacefixmethod_to_text();
389 BC_TextBox *output_text;
392 char string[BCTEXTLEN];