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 PrefsFFMPEGMarkerIndecies *ffmpeg_marker_indexes;
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 PrefsTrapSigSEGV : public BC_CheckBox
130 PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y);
134 PerformancePrefs *perf_prefs;
137 class PrefsTrapSigINTR : public BC_CheckBox
140 PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y);
144 PerformancePrefs *perf_prefs;
147 class PrefsFFMPEGEarlyProbe : public BC_CheckBox
150 PrefsFFMPEGEarlyProbe(PerformancePrefs *perf_prefs, int x, int y);
151 ~PrefsFFMPEGEarlyProbe();
155 PerformancePrefs *perf_prefs;
158 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
161 PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
162 ~PrefsFFMPEGMarkerIndecies();
166 PerformancePrefs *perf_prefs;
172 class PrefsRenderFarm : public BC_CheckBox
175 PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
181 PreferencesWindow *pwindow;
184 class PrefsRenderFarmConsolidate : public BC_CheckBox
187 PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
188 ~PrefsRenderFarmConsolidate();
193 PreferencesWindow *pwindow;
197 class PrefsRenderFarmPort : public BC_TumbleTextBox
200 PrefsRenderFarmPort(PreferencesWindow *pwindow,
201 PerformancePrefs *subwindow,
204 ~PrefsRenderFarmPort();
208 PreferencesWindow *pwindow;
211 class PrefsRenderFarmJobs : public BC_TumbleTextBox
214 PrefsRenderFarmJobs(PreferencesWindow *pwindow,
215 PerformancePrefs *subwindow,
218 ~PrefsRenderFarmJobs();
222 PreferencesWindow *pwindow;
225 class PrefsRenderFarmMountpoint : public BC_TextBox
228 PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
229 PerformancePrefs *subwindow,
232 ~PrefsRenderFarmMountpoint();
236 PreferencesWindow *pwindow;
237 PerformancePrefs *subwindow;
240 class PrefsRenderFarmVFS : public BC_CheckBox
243 PrefsRenderFarmVFS(PreferencesWindow *pwindow,
244 PerformancePrefs *subwindow,
248 PreferencesWindow *pwindow;
249 PerformancePrefs *subwindow;
252 class PrefsRenderFarmNodes : public BC_ListBox
255 PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
256 ~PrefsRenderFarmNodes();
259 int selection_changed();
260 int column_resize_event();
262 PreferencesWindow *pwindow;
263 PerformancePrefs *subwindow;
266 class PrefsRenderFarmEditNode : public BC_TextBox
269 PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
270 ~PrefsRenderFarmEditNode();
274 PerformancePrefs *subwindow;
275 PreferencesWindow *pwindow;
278 class PrefsRenderFarmNewNode : public BC_GenericButton
281 PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
282 ~PrefsRenderFarmNewNode();
287 PerformancePrefs *subwindow;
288 PreferencesWindow *pwindow;
291 class PrefsRenderFarmReplaceNode : public BC_GenericButton
294 PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
295 PerformancePrefs *subwindow,
298 ~PrefsRenderFarmReplaceNode();
303 PerformancePrefs *subwindow;
304 PreferencesWindow *pwindow;
307 class PrefsRenderFarmDelNode : public BC_GenericButton
310 PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
311 ~PrefsRenderFarmDelNode();
315 PerformancePrefs *subwindow;
317 PreferencesWindow *pwindow;
320 class PrefsRenderFarmSortNodes : public BC_GenericButton
323 PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
324 ~PrefsRenderFarmSortNodes();
328 PerformancePrefs *subwindow;
329 PreferencesWindow *pwindow;
333 class PrefsRenderFarmReset : public BC_GenericButton
336 PrefsRenderFarmReset(PreferencesWindow *pwindow,
337 PerformancePrefs *subwindow,
343 PerformancePrefs *subwindow;
344 PreferencesWindow *pwindow;
349 class CICacheSize : public BC_TumbleTextBox
354 PreferencesWindow *pwindow,
355 PerformancePrefs *subwindow);
357 PreferencesWindow *pwindow;