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"
39 class New : public BC_MenuItem
42 New(MWindow *mwindow);
44 void create_objects();
47 int run_script(FileXML *script);
48 int create_new_project();
49 void create_new_edl();
59 class NewThread : public BC_DialogThread
62 NewThread(MWindow *mwindow, New *new_project);
66 void handle_close_event(int result);
78 class NewWindow : public BC_Window
81 NewWindow(MWindow *mwindow, NewThread *new_thread, int x, int y);
84 void create_objects();
88 NewThread *new_thread;
91 BC_TextBox *achannels;
92 BC_TextBox *sample_rate;
94 BC_TextBox *vchannels;
95 BC_TextBox *frame_rate;
96 BC_TextBox *aspect_w_text, *aspect_h_text;
97 BC_TextBox *output_w_text, *output_h_text;
98 NewPresets *format_presets;
101 class NewPresets : public FormatPresets
104 NewPresets(MWindow *mwindow, NewWindow *gui, int x, int y);
111 class NewSwapExtents : public BC_Button
114 NewSwapExtents(MWindow *mwindow, NewWindow *gui, int x, int y);
122 class NewATracks : public BC_TextBox
125 NewATracks(NewWindow *nwindow, const char *text, int x, int y);
130 class NewATracksTumbler : public BC_Tumbler
133 NewATracksTumbler(NewWindow *nwindow, int x, int y);
134 int handle_up_event();
135 int handle_down_event();
139 class NewAChannels : public BC_TextBox
142 NewAChannels(NewWindow *nwindow, const char *text, int x, int y);
147 class NewAChannelsTumbler : public BC_Tumbler
150 NewAChannelsTumbler(NewWindow *nwindow, int x, int y);
151 int handle_up_event();
152 int handle_down_event();
156 class NewSampleRate : public BC_TextBox
159 NewSampleRate(NewWindow *nwindow, const char *text, int x, int y);
165 class SampleRatePulldown : public BC_ListBox
168 SampleRatePulldown(MWindow *mwindow, BC_TextBox *output, int x, int y);
181 class NewVTracks : public BC_TextBox
184 NewVTracks(NewWindow *nwindow, const char *text, int x, int y);
189 class NewVTracksTumbler : public BC_Tumbler
192 NewVTracksTumbler(NewWindow *nwindow, int x, int y);
193 int handle_up_event();
194 int handle_down_event();
198 class NewVChannels : public BC_TextBox
201 NewVChannels(NewWindow *nwindow, const char *text, int x, int y);
206 class NewVChannelsTumbler : public BC_Tumbler
209 NewVChannelsTumbler(NewWindow *nwindow, int x, int y);
210 int handle_up_event();
211 int handle_down_event();
215 class NewFrameRate : public BC_TextBox
218 NewFrameRate(NewWindow *nwindow, const char *text, int x, int y);
223 class FrameRatePulldown : public BC_ListBox
226 FrameRatePulldown(MWindow *mwindow, BC_TextBox *output, int x, int y);
232 class NewTrackW : public BC_TextBox
235 NewTrackW(NewWindow *nwindow, int x, int y);
240 class NewTrackH : public BC_TextBox
243 NewTrackH(NewWindow *nwindow, int x, int y);
248 class FrameSizePulldown : public BC_ListBox
251 FrameSizePulldown(Theme *theme,
252 BC_TextBox *output_w,
253 BC_TextBox *output_h,
258 BC_TextBox *output_w;
259 BC_TextBox *output_h;
262 class NewOutputW : public BC_TextBox
265 NewOutputW(NewWindow *nwindow, int x, int y);
270 class NewOutputH : public BC_TextBox
273 NewOutputH(NewWindow *nwindow, int x, int y);
278 class NewAspectAuto : public BC_CheckBox
281 NewAspectAuto(NewWindow *nwindow, int x, int y);
287 class NewAspectW : public BC_TextBox
290 NewAspectW(NewWindow *nwindow, const char *text, int x, int y);
295 class NewAspectH : public BC_TextBox
298 NewAspectH(NewWindow *nwindow, const char *text, int x, int y);
303 class AspectPulldown : public BC_ListBox
306 AspectPulldown(MWindow *mwindow,
307 BC_TextBox *output_w,
308 BC_TextBox *output_h,
313 BC_TextBox *output_w;
314 BC_TextBox *output_h;
317 class ColormodelItem : public BC_ListBoxItem
320 ColormodelItem(const char *text, int value);
324 class ColormodelPulldown : public BC_ListBox
327 ColormodelPulldown(MWindow *mwindow,
328 BC_TextBox *output_text,
333 const char* colormodel_to_text();
335 BC_TextBox *output_text;