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;
59 ArrayList<BC_ListBoxItem*> nodes[TOTAL_COLUMNS];
60 PrefsRenderFarmEditNode *edit_node;
61 PrefsRenderFarmPort *edit_port;
62 PrefsRenderFarmNodes *node_list;
63 PrefsRenderFarmWatchdog *renderfarm_watchdog;
64 FormatTools *brender_tools;
65 BC_Title *master_rate;
69 class PrefsUseBRender : public BC_CheckBox
72 PrefsUseBRender(PreferencesWindow *pwindow,
75 PreferencesWindow *pwindow;
78 class PrefsBRenderFragment : public BC_TumbleTextBox
81 PrefsBRenderFragment(PreferencesWindow *pwindow,
82 PerformancePrefs *subwindow,
85 PreferencesWindow *pwindow;
88 class PrefsRenderPreroll : public BC_TumbleTextBox
91 PrefsRenderPreroll(PreferencesWindow *pwindow,
92 PerformancePrefs *subwindow,
95 ~PrefsRenderPreroll();
99 PreferencesWindow *pwindow;
102 class PrefsBRenderPreroll : public BC_TumbleTextBox
105 PrefsBRenderPreroll(PreferencesWindow *pwindow,
106 PerformancePrefs *subwindow,
110 PreferencesWindow *pwindow;
113 class PrefsForceUniprocessor : public BC_CheckBox
116 PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y);
117 ~PrefsForceUniprocessor();
120 PreferencesWindow *pwindow;
123 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
126 PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
127 ~PrefsFFMPEGMarkerIndecies();
131 PerformancePrefs *perf_prefs;
134 class PrefsRenderFarm : public BC_CheckBox
137 PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
142 PreferencesWindow *pwindow;
145 class PrefsRenderFarmConsolidate : public BC_CheckBox
148 PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
149 ~PrefsRenderFarmConsolidate();
153 PreferencesWindow *pwindow;
157 class PrefsRenderFarmPort : public BC_TumbleTextBox
160 PrefsRenderFarmPort(PreferencesWindow *pwindow,
161 PerformancePrefs *subwindow,
163 ~PrefsRenderFarmPort();
167 PreferencesWindow *pwindow;
170 class PrefsProjectSMP : public BC_TumbleTextBox
173 PrefsProjectSMP(PreferencesWindow *pwindow,
174 PerformancePrefs *subwindow, int x, int y);
178 PreferencesWindow *pwindow;
181 class PrefsRenderFarmJobs : public BC_TumbleTextBox
184 PrefsRenderFarmJobs(PreferencesWindow *pwindow,
185 PerformancePrefs *subwindow,
187 ~PrefsRenderFarmJobs();
191 PreferencesWindow *pwindow;
194 class PrefsRenderFarmMountpoint : public BC_TextBox
197 PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
198 PerformancePrefs *subwindow,
200 ~PrefsRenderFarmMountpoint();
204 PreferencesWindow *pwindow;
205 PerformancePrefs *subwindow;
208 class PrefsRenderFarmVFS : public BC_CheckBox
211 PrefsRenderFarmVFS(PreferencesWindow *pwindow,
212 PerformancePrefs *subwindow,
216 PreferencesWindow *pwindow;
217 PerformancePrefs *subwindow;
220 class PrefsRenderFarmNodes : public BC_ListBox
223 PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
224 ~PrefsRenderFarmNodes();
227 int selection_changed();
228 int column_resize_event();
231 const char *titles[PerformancePrefs::TOTAL_COLUMNS];
232 int widths[PerformancePrefs::TOTAL_COLUMNS];
234 PreferencesWindow *pwindow;
235 PerformancePrefs *subwindow;
238 class PrefsRenderFarmEditNode : public BC_TextBox
241 PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
242 ~PrefsRenderFarmEditNode();
246 PerformancePrefs *subwindow;
247 PreferencesWindow *pwindow;
250 class PrefsRenderFarmNewNode : public BC_GenericButton
253 PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
254 ~PrefsRenderFarmNewNode();
259 PerformancePrefs *subwindow;
260 PreferencesWindow *pwindow;
263 class PrefsRenderFarmReplaceNode : public BC_GenericButton
266 PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
267 PerformancePrefs *subwindow,
270 ~PrefsRenderFarmReplaceNode();
275 PerformancePrefs *subwindow;
276 PreferencesWindow *pwindow;
279 class PrefsRenderFarmDelNode : public BC_GenericButton
282 PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
283 ~PrefsRenderFarmDelNode();
287 PerformancePrefs *subwindow;
288 PreferencesWindow *pwindow;
291 class PrefsRenderFarmSortNodes : public BC_GenericButton
294 PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
295 ~PrefsRenderFarmSortNodes();
299 PerformancePrefs *subwindow;
300 PreferencesWindow *pwindow;
303 class PrefsRenderFarmReset : public BC_GenericButton
306 PrefsRenderFarmReset(PreferencesWindow *pwindow,
307 PerformancePrefs *subwindow, int x, int y);
311 PerformancePrefs *subwindow;
312 PreferencesWindow *pwindow;
315 class PrefsRenderFarmWatchdog : public BC_TumbleTextBox
318 PrefsRenderFarmWatchdog(PreferencesWindow *pwindow,
319 PerformancePrefs *subwindow, int x, int y);
323 PerformancePrefs *subwindow;
324 PreferencesWindow *pwindow;
328 class CICacheSize : public BC_TumbleTextBox
331 CICacheSize(int x, int y,
332 PreferencesWindow *pwindow,
333 PerformancePrefs *subwindow);
337 PreferencesWindow *pwindow;