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 FormatTools *brender_tools;
64 BC_Title *master_rate;
69 class PrefsUseBRender : public BC_CheckBox
72 PrefsUseBRender(PreferencesWindow *pwindow,
76 PreferencesWindow *pwindow;
79 class PrefsBRenderFragment : public BC_TumbleTextBox
82 PrefsBRenderFragment(PreferencesWindow *pwindow,
83 PerformancePrefs *subwindow,
87 PreferencesWindow *pwindow;
92 class PrefsRenderPreroll : public BC_TumbleTextBox
95 PrefsRenderPreroll(PreferencesWindow *pwindow,
96 PerformancePrefs *subwindow,
99 ~PrefsRenderPreroll();
103 PreferencesWindow *pwindow;
106 class PrefsBRenderPreroll : public BC_TumbleTextBox
109 PrefsBRenderPreroll(PreferencesWindow *pwindow,
110 PerformancePrefs *subwindow,
114 PreferencesWindow *pwindow;
117 class PrefsForceUniprocessor : public BC_CheckBox
120 PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y);
121 ~PrefsForceUniprocessor();
124 PreferencesWindow *pwindow;
127 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
130 PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
131 ~PrefsFFMPEGMarkerIndecies();
135 PerformancePrefs *perf_prefs;
141 class PrefsRenderFarm : public BC_CheckBox
144 PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
150 PreferencesWindow *pwindow;
153 class PrefsRenderFarmConsolidate : public BC_CheckBox
156 PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
157 ~PrefsRenderFarmConsolidate();
162 PreferencesWindow *pwindow;
166 class PrefsRenderFarmPort : public BC_TumbleTextBox
169 PrefsRenderFarmPort(PreferencesWindow *pwindow,
170 PerformancePrefs *subwindow,
173 ~PrefsRenderFarmPort();
177 PreferencesWindow *pwindow;
180 class PrefsProjectSMP : public BC_TumbleTextBox
183 PrefsProjectSMP(PreferencesWindow *pwindow,
184 PerformancePrefs *subwindow, int x, int y);
188 PreferencesWindow *pwindow;
191 class PrefsRenderFarmJobs : public BC_TumbleTextBox
194 PrefsRenderFarmJobs(PreferencesWindow *pwindow,
195 PerformancePrefs *subwindow,
198 ~PrefsRenderFarmJobs();
202 PreferencesWindow *pwindow;
205 class PrefsRenderFarmMountpoint : public BC_TextBox
208 PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
209 PerformancePrefs *subwindow,
212 ~PrefsRenderFarmMountpoint();
216 PreferencesWindow *pwindow;
217 PerformancePrefs *subwindow;
220 class PrefsRenderFarmVFS : public BC_CheckBox
223 PrefsRenderFarmVFS(PreferencesWindow *pwindow,
224 PerformancePrefs *subwindow,
228 PreferencesWindow *pwindow;
229 PerformancePrefs *subwindow;
232 class PrefsRenderFarmNodes : public BC_ListBox
235 PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
236 ~PrefsRenderFarmNodes();
239 int selection_changed();
240 int column_resize_event();
243 const char *titles[PerformancePrefs::TOTAL_COLUMNS];
244 int widths[PerformancePrefs::TOTAL_COLUMNS];
246 PreferencesWindow *pwindow;
247 PerformancePrefs *subwindow;
250 class PrefsRenderFarmEditNode : public BC_TextBox
253 PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
254 ~PrefsRenderFarmEditNode();
258 PerformancePrefs *subwindow;
259 PreferencesWindow *pwindow;
262 class PrefsRenderFarmNewNode : public BC_GenericButton
265 PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
266 ~PrefsRenderFarmNewNode();
271 PerformancePrefs *subwindow;
272 PreferencesWindow *pwindow;
275 class PrefsRenderFarmReplaceNode : public BC_GenericButton
278 PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
279 PerformancePrefs *subwindow,
282 ~PrefsRenderFarmReplaceNode();
287 PerformancePrefs *subwindow;
288 PreferencesWindow *pwindow;
291 class PrefsRenderFarmDelNode : public BC_GenericButton
294 PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
295 ~PrefsRenderFarmDelNode();
299 PerformancePrefs *subwindow;
301 PreferencesWindow *pwindow;
304 class PrefsRenderFarmSortNodes : public BC_GenericButton
307 PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
308 ~PrefsRenderFarmSortNodes();
312 PerformancePrefs *subwindow;
313 PreferencesWindow *pwindow;
317 class PrefsRenderFarmReset : public BC_GenericButton
320 PrefsRenderFarmReset(PreferencesWindow *pwindow,
321 PerformancePrefs *subwindow,
326 PerformancePrefs *subwindow;
327 PreferencesWindow *pwindow;
331 class CICacheSize : public BC_TumbleTextBox
336 PreferencesWindow *pwindow,
337 PerformancePrefs *subwindow);
339 PreferencesWindow *pwindow;