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"
30 #include "probeprefs.inc"
33 class PerformancePrefs : public PreferencesDialog
36 PerformancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
39 void create_objects();
41 void generate_node_list();
42 void update_node_list();
44 void start_probe_dialog();
48 CICacheSize *cache_size;
49 PrefsFileProbes *file_probes;
60 ArrayList<BC_ListBoxItem*> nodes[4];
61 PrefsRenderFarmEditNode *edit_node;
62 PrefsRenderFarmPort *edit_port;
63 PrefsRenderFarmNodes *node_list;
64 FormatTools *brender_tools;
65 BC_Title *master_rate;
66 PrefsYUV420P_DVDlace *yuv420p_dvdlace;
67 FileProbeDialog *file_probe_dialog;
72 class PrefsUseBRender : public BC_CheckBox
75 PrefsUseBRender(PreferencesWindow *pwindow,
79 PreferencesWindow *pwindow;
82 class PrefsBRenderFragment : public BC_TumbleTextBox
85 PrefsBRenderFragment(PreferencesWindow *pwindow,
86 PerformancePrefs *subwindow,
90 PreferencesWindow *pwindow;
95 class PrefsRenderPreroll : public BC_TumbleTextBox
98 PrefsRenderPreroll(PreferencesWindow *pwindow,
99 PerformancePrefs *subwindow,
102 ~PrefsRenderPreroll();
106 PreferencesWindow *pwindow;
109 class PrefsBRenderPreroll : public BC_TumbleTextBox
112 PrefsBRenderPreroll(PreferencesWindow *pwindow,
113 PerformancePrefs *subwindow,
117 PreferencesWindow *pwindow;
120 class PrefsForceUniprocessor : public BC_CheckBox
123 PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y);
124 ~PrefsForceUniprocessor();
127 PreferencesWindow *pwindow;
130 class PrefsTrapSigSEGV : public BC_CheckBox
133 PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y);
137 PerformancePrefs *perf_prefs;
140 class PrefsTrapSigINTR : public BC_CheckBox
143 PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y);
147 PerformancePrefs *perf_prefs;
150 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
153 PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
154 ~PrefsFFMPEGMarkerIndecies();
158 PerformancePrefs *perf_prefs;
164 class PrefsRenderFarm : public BC_CheckBox
167 PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
173 PreferencesWindow *pwindow;
176 class PrefsRenderFarmConsolidate : public BC_CheckBox
179 PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
180 ~PrefsRenderFarmConsolidate();
185 PreferencesWindow *pwindow;
189 class PrefsRenderFarmPort : public BC_TumbleTextBox
192 PrefsRenderFarmPort(PreferencesWindow *pwindow,
193 PerformancePrefs *subwindow,
196 ~PrefsRenderFarmPort();
200 PreferencesWindow *pwindow;
203 class PrefsProjectSMP : public BC_TumbleTextBox
206 PrefsProjectSMP(PreferencesWindow *pwindow,
207 PerformancePrefs *subwindow, int x, int y);
211 PreferencesWindow *pwindow;
214 class PrefsRenderFarmJobs : public BC_TumbleTextBox
217 PrefsRenderFarmJobs(PreferencesWindow *pwindow,
218 PerformancePrefs *subwindow,
221 ~PrefsRenderFarmJobs();
225 PreferencesWindow *pwindow;
228 class PrefsRenderFarmMountpoint : public BC_TextBox
231 PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
232 PerformancePrefs *subwindow,
235 ~PrefsRenderFarmMountpoint();
239 PreferencesWindow *pwindow;
240 PerformancePrefs *subwindow;
243 class PrefsRenderFarmVFS : public BC_CheckBox
246 PrefsRenderFarmVFS(PreferencesWindow *pwindow,
247 PerformancePrefs *subwindow,
251 PreferencesWindow *pwindow;
252 PerformancePrefs *subwindow;
255 class PrefsRenderFarmNodes : public BC_ListBox
258 PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
259 ~PrefsRenderFarmNodes();
262 int selection_changed();
263 int column_resize_event();
265 PreferencesWindow *pwindow;
266 PerformancePrefs *subwindow;
269 class PrefsRenderFarmEditNode : public BC_TextBox
272 PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
273 ~PrefsRenderFarmEditNode();
277 PerformancePrefs *subwindow;
278 PreferencesWindow *pwindow;
281 class PrefsRenderFarmNewNode : public BC_GenericButton
284 PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
285 ~PrefsRenderFarmNewNode();
290 PerformancePrefs *subwindow;
291 PreferencesWindow *pwindow;
294 class PrefsRenderFarmReplaceNode : public BC_GenericButton
297 PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
298 PerformancePrefs *subwindow,
301 ~PrefsRenderFarmReplaceNode();
306 PerformancePrefs *subwindow;
307 PreferencesWindow *pwindow;
310 class PrefsRenderFarmDelNode : public BC_GenericButton
313 PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
314 ~PrefsRenderFarmDelNode();
318 PerformancePrefs *subwindow;
320 PreferencesWindow *pwindow;
323 class PrefsRenderFarmSortNodes : public BC_GenericButton
326 PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
327 ~PrefsRenderFarmSortNodes();
331 PerformancePrefs *subwindow;
332 PreferencesWindow *pwindow;
336 class PrefsRenderFarmReset : public BC_GenericButton
339 PrefsRenderFarmReset(PreferencesWindow *pwindow,
340 PerformancePrefs *subwindow,
345 PerformancePrefs *subwindow;
346 PreferencesWindow *pwindow;
350 class PrefsYUV420P_DVDlace : public BC_CheckBox
353 PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
354 PerformancePrefs *subwindow,
359 PerformancePrefs *subwindow;
360 PreferencesWindow *pwindow;
365 class CICacheSize : public BC_TumbleTextBox
370 PreferencesWindow *pwindow,
371 PerformancePrefs *subwindow);
373 PreferencesWindow *pwindow;
377 class PrefsFileProbes : public BC_GenericButton
380 PreferencesWindow *pwindow;
381 PerformancePrefs *perf_prefs;
384 PrefsFileProbes(PreferencesWindow *pwindow, PerformancePrefs *perf_prefs, int x, int y);