6 #include "batchrender.inc"
8 #include "browsebutton.inc"
9 #include "formattools.h"
10 #include "mwindow.inc"
11 #include "timeentry.h"
13 #define BATCHRENDER_COLUMNS 4
18 class BatchRenderMenuItem
: public BC_MenuItem
21 BatchRenderMenuItem(MWindow
*mwindow
);
31 BatchRenderJob(MWindow
*mwindow
);
34 void copy_from(BatchRenderJob
*src
);
35 void load(FileXML
*file
);
36 void save(FileXML
*file
);
39 // Source EDL to render
40 char edl_path
[BCTEXTLEN
];
41 // Destination file for output
45 // Amount of time elapsed in last render operation
57 class BatchRenderThread
: public BC_DialogThread
60 BatchRenderThread(MWindow
*mwindow
);
61 void handle_close_event(int result
);
64 // Load batch rendering jobs
66 // Not applicable to western civilizations
70 // Create path for persistent storage functions
71 char* create_path(char *string
);
74 // Conditionally returns the job or the default job based on current_job
75 BatchRenderJob
* get_current_job();
76 Asset
* get_current_asset();
77 char* get_current_edl();
78 void start_rendering();
79 void stop_rendering();
80 // Highlight the currently rendering job.
81 void update_active(int number
);
82 void update_done(int number
, int create_list
, double elapsed_time
);
83 void move_batch(int src
, int dst
);
88 BatchRenderJob
*default_job
;
89 ArrayList
<BatchRenderJob
*> jobs
;
91 int column_width
[BATCHRENDER_COLUMNS
];
108 class BatchRenderEDLPath
: public BC_TextBox
111 BatchRenderEDLPath(BatchRenderThread
*thread
,
117 BatchRenderThread
*thread
;
121 class BatchRenderNew
: public BC_GenericButton
124 BatchRenderNew(BatchRenderThread
*thread
,
128 BatchRenderThread
*thread
;
131 class BatchRenderDelete
: public BC_GenericButton
134 BatchRenderDelete(BatchRenderThread
*thread
,
138 BatchRenderThread
*thread
;
141 class BatchRenderList
: public BC_ListBox
144 BatchRenderList(BatchRenderThread
*thread
,
150 int selection_changed();
151 int column_resize_event();
152 int drag_start_event();
153 int drag_motion_event();
154 int drag_stop_event();
156 BatchRenderThread
*thread
;
158 class BatchRenderStart
: public BC_Button
161 BatchRenderStart(BatchRenderThread
*thread
,
165 BatchRenderThread
*thread
;
168 class BatchRenderStop
: public BC_Button
171 BatchRenderStop(BatchRenderThread
*thread
,
175 BatchRenderThread
*thread
;
178 class BatchRenderCancel
: public BC_Button
181 BatchRenderCancel(BatchRenderThread
*thread
,
185 int keypress_event();
186 BatchRenderThread
*thread
;
190 class BatchFormat
: public FormatTools
193 BatchFormat(MWindow
*mwindow
,
205 class BatchRenderGUI
: public BC_Window
208 BatchRenderGUI(MWindow
*mwindow
,
209 BatchRenderThread
*thread
,
216 void create_objects();
217 int resize_event(int w
, int h
);
218 int translation_event();
220 void create_list(int update_widget
);
223 ArrayList
<BC_ListBoxItem
*> list_columns
[BATCHRENDER_COLUMNS
];
226 BatchRenderThread
*thread
;
227 BC_Title
*output_path_title
;
228 BatchFormat
*format_tools
;
229 BrowseButton
*edl_path_browse
;
230 BatchRenderEDLPath
*edl_path_text
;
231 BC_Title
*edl_path_title
;
232 // BC_Title *status_title;
233 // BC_Title *status_text;
234 // BC_ProgressBar *progress_bar;
235 BC_Title
*list_title
;
236 BatchRenderNew
*new_batch
;
237 BatchRenderDelete
*delete_batch
;
238 BatchRenderList
*batch_list
;
239 BatchRenderStart
*start_button
;
240 BatchRenderStop
*stop_button
;
241 BatchRenderCancel
*cancel_button
;