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
22 #ifndef PERFORMANCEPREFS_H
23 #define PERFORMANCEPREFS_H
26 #include "formattools.inc"
27 #include "mwindow.inc"
28 #include "performanceprefs.inc"
29 #include "preferencesthread.h"
32 class PerformancePrefs : public PreferencesDialog
35 PerformancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
38 void create_objects();
40 void generate_node_list();
41 void update_node_list();
46 CICacheSize *cache_size;
57 ArrayList<BC_ListBoxItem*> nodes[4];
58 PrefsRenderFarmEditNode *edit_node;
59 PrefsRenderFarmPort *edit_port;
60 PrefsRenderFarmNodes *node_list;
61 FormatTools *brender_tools;
62 BC_Title *master_rate;
63 PrefsFFMPEGEarlyProbe *ffmpeg_early_probe;
64 PrefsYUV420P_DVDlace *yuv420p_dvdlace;
65 PrefsFFMPEGMarkerIndecies *ffmpeg_marker_indexes;
70 class PrefsUseBRender : public BC_CheckBox
73 PrefsUseBRender(PreferencesWindow *pwindow,
77 PreferencesWindow *pwindow;
80 class PrefsBRenderFragment : public BC_TumbleTextBox
83 PrefsBRenderFragment(PreferencesWindow *pwindow,
84 PerformancePrefs *subwindow,
88 PreferencesWindow *pwindow;
93 class PrefsRenderPreroll : public BC_TumbleTextBox
96 PrefsRenderPreroll(PreferencesWindow *pwindow,
97 PerformancePrefs *subwindow,
100 ~PrefsRenderPreroll();
104 PreferencesWindow *pwindow;
107 class PrefsBRenderPreroll : public BC_TumbleTextBox
110 PrefsBRenderPreroll(PreferencesWindow *pwindow,
111 PerformancePrefs *subwindow,
115 PreferencesWindow *pwindow;
118 class PrefsForceUniprocessor : public BC_CheckBox
121 PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y);
122 ~PrefsForceUniprocessor();
125 PreferencesWindow *pwindow;
128 class PrefsTrapSigSEGV : public BC_CheckBox
131 PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y);
135 PerformancePrefs *perf_prefs;
138 class PrefsTrapSigINTR : public BC_CheckBox
141 PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y);
145 PerformancePrefs *perf_prefs;
148 class PrefsFFMPEGEarlyProbe : public BC_CheckBox
151 PrefsFFMPEGEarlyProbe(PerformancePrefs *perf_prefs, int x, int y);
152 ~PrefsFFMPEGEarlyProbe();
156 PerformancePrefs *perf_prefs;
159 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
162 PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
163 ~PrefsFFMPEGMarkerIndecies();
167 PerformancePrefs *perf_prefs;
173 class PrefsRenderFarm : public BC_CheckBox
176 PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
182 PreferencesWindow *pwindow;
185 class PrefsRenderFarmConsolidate : public BC_CheckBox
188 PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
189 ~PrefsRenderFarmConsolidate();
194 PreferencesWindow *pwindow;
198 class PrefsRenderFarmPort : public BC_TumbleTextBox
201 PrefsRenderFarmPort(PreferencesWindow *pwindow,
202 PerformancePrefs *subwindow,
205 ~PrefsRenderFarmPort();
209 PreferencesWindow *pwindow;
212 class PrefsProjectSMP : public BC_TumbleTextBox
215 PrefsProjectSMP(PreferencesWindow *pwindow,
216 PerformancePrefs *subwindow, int x, int y);
220 PreferencesWindow *pwindow;
223 class PrefsRenderFarmJobs : public BC_TumbleTextBox
226 PrefsRenderFarmJobs(PreferencesWindow *pwindow,
227 PerformancePrefs *subwindow,
230 ~PrefsRenderFarmJobs();
234 PreferencesWindow *pwindow;
237 class PrefsRenderFarmMountpoint : public BC_TextBox
240 PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
241 PerformancePrefs *subwindow,
244 ~PrefsRenderFarmMountpoint();
248 PreferencesWindow *pwindow;
249 PerformancePrefs *subwindow;
252 class PrefsRenderFarmVFS : public BC_CheckBox
255 PrefsRenderFarmVFS(PreferencesWindow *pwindow,
256 PerformancePrefs *subwindow,
260 PreferencesWindow *pwindow;
261 PerformancePrefs *subwindow;
264 class PrefsRenderFarmNodes : public BC_ListBox
267 PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
268 ~PrefsRenderFarmNodes();
271 int selection_changed();
272 int column_resize_event();
274 PreferencesWindow *pwindow;
275 PerformancePrefs *subwindow;
278 class PrefsRenderFarmEditNode : public BC_TextBox
281 PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
282 ~PrefsRenderFarmEditNode();
286 PerformancePrefs *subwindow;
287 PreferencesWindow *pwindow;
290 class PrefsRenderFarmNewNode : public BC_GenericButton
293 PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
294 ~PrefsRenderFarmNewNode();
299 PerformancePrefs *subwindow;
300 PreferencesWindow *pwindow;
303 class PrefsRenderFarmReplaceNode : public BC_GenericButton
306 PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
307 PerformancePrefs *subwindow,
310 ~PrefsRenderFarmReplaceNode();
315 PerformancePrefs *subwindow;
316 PreferencesWindow *pwindow;
319 class PrefsRenderFarmDelNode : public BC_GenericButton
322 PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
323 ~PrefsRenderFarmDelNode();
327 PerformancePrefs *subwindow;
329 PreferencesWindow *pwindow;
332 class PrefsRenderFarmSortNodes : public BC_GenericButton
335 PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
336 ~PrefsRenderFarmSortNodes();
340 PerformancePrefs *subwindow;
341 PreferencesWindow *pwindow;
345 class PrefsRenderFarmReset : public BC_GenericButton
348 PrefsRenderFarmReset(PreferencesWindow *pwindow,
349 PerformancePrefs *subwindow,
354 PerformancePrefs *subwindow;
355 PreferencesWindow *pwindow;
359 class PrefsYUV420P_DVDlace : public BC_CheckBox
362 PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
363 PerformancePrefs *subwindow,
368 PerformancePrefs *subwindow;
369 PreferencesWindow *pwindow;
374 class CICacheSize : public BC_TumbleTextBox
379 PreferencesWindow *pwindow,
380 PerformancePrefs *subwindow);
382 PreferencesWindow *pwindow;