search fixes, preset fixes, ladspa icon logging, igor pref theme, drag btn rollover
[goodguy/history.git] / cinelerra-5.1 / cinelerra / performanceprefs.h
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  *
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.
10  *
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.
15  *
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
19  *
20  */
21
22 #ifndef PERFORMANCEPREFS_H
23 #define PERFORMANCEPREFS_H
24
25
26 #include "formattools.inc"
27 #include "mwindow.inc"
28 #include "performanceprefs.inc"
29 #include "preferencesthread.h"
30 #include "probeprefs.inc"
31
32
33 class PerformancePrefs : public PreferencesDialog
34 {
35 public:
36         PerformancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
37         ~PerformancePrefs();
38
39         void create_objects();
40
41         void generate_node_list();
42         void update_node_list();
43         void update_rates();
44         void start_probe_dialog();
45
46         int hot_node;
47
48         CICacheSize *cache_size;
49
50         enum
51         {
52                 ENABLED_COLUMN,
53                 HOSTNAME_COLUMN,
54                 PORT_COLUMN,
55                 RATE_COLUMN,
56                 TOTAL_COLUMNS
57         };
58
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;
65 };
66
67
68
69 class PrefsUseBRender : public BC_CheckBox
70 {
71 public:
72         PrefsUseBRender(PreferencesWindow *pwindow,
73                 int x,
74                 int y);
75         int handle_event();
76         PreferencesWindow *pwindow;
77 };
78
79 class PrefsBRenderFragment : public BC_TumbleTextBox
80 {
81 public:
82         PrefsBRenderFragment(PreferencesWindow *pwindow,
83                 PerformancePrefs *subwindow,
84                 int x,
85                 int y);
86         int handle_event();
87         PreferencesWindow *pwindow;
88 };
89
90
91
92 class PrefsRenderPreroll : public BC_TumbleTextBox
93 {
94 public:
95         PrefsRenderPreroll(PreferencesWindow *pwindow,
96                 PerformancePrefs *subwindow,
97                 int x,
98                 int y);
99         ~PrefsRenderPreroll();
100
101         int handle_event();
102
103         PreferencesWindow *pwindow;
104 };
105
106 class PrefsBRenderPreroll : public BC_TumbleTextBox
107 {
108 public:
109         PrefsBRenderPreroll(PreferencesWindow *pwindow,
110                 PerformancePrefs *subwindow,
111                 int x,
112                 int y);
113         int handle_event();
114         PreferencesWindow *pwindow;
115 };
116
117 class PrefsForceUniprocessor : public BC_CheckBox
118 {
119 public:
120         PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y);
121         ~PrefsForceUniprocessor();
122         int handle_event();
123
124         PreferencesWindow *pwindow;
125 };
126
127 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
128 {
129 public:
130         PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
131         ~PrefsFFMPEGMarkerIndecies();
132
133         int handle_event();
134
135         PerformancePrefs *perf_prefs;
136 };
137
138
139
140
141 class PrefsRenderFarm : public BC_CheckBox
142 {
143 public:
144         PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
145         ~PrefsRenderFarm();
146
147         int handle_event();
148
149
150         PreferencesWindow *pwindow;
151 };
152
153 class PrefsRenderFarmConsolidate : public BC_CheckBox
154 {
155 public:
156         PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
157         ~PrefsRenderFarmConsolidate();
158
159         int handle_event();
160
161
162         PreferencesWindow *pwindow;
163 };
164
165
166 class PrefsRenderFarmPort : public BC_TumbleTextBox
167 {
168 public:
169         PrefsRenderFarmPort(PreferencesWindow *pwindow,
170                 PerformancePrefs *subwindow,
171                 int x,
172                 int y);
173         ~PrefsRenderFarmPort();
174
175         int handle_event();
176
177         PreferencesWindow *pwindow;
178 };
179
180 class PrefsProjectSMP : public BC_TumbleTextBox
181 {
182 public:
183         PrefsProjectSMP(PreferencesWindow *pwindow,
184                 PerformancePrefs *subwindow, int x, int y);
185         ~PrefsProjectSMP();
186
187         int handle_event();
188         PreferencesWindow *pwindow;
189 };
190
191 class PrefsRenderFarmJobs : public BC_TumbleTextBox
192 {
193 public:
194         PrefsRenderFarmJobs(PreferencesWindow *pwindow,
195                 PerformancePrefs *subwindow,
196                 int x,
197                 int y);
198         ~PrefsRenderFarmJobs();
199
200         int handle_event();
201
202         PreferencesWindow *pwindow;
203 };
204
205 class PrefsRenderFarmMountpoint : public BC_TextBox
206 {
207 public:
208         PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
209                 PerformancePrefs *subwindow,
210                 int x,
211                 int y);
212         ~PrefsRenderFarmMountpoint();
213
214         int handle_event();
215
216         PreferencesWindow *pwindow;
217         PerformancePrefs *subwindow;
218 };
219
220 class PrefsRenderFarmVFS : public BC_CheckBox
221 {
222 public:
223         PrefsRenderFarmVFS(PreferencesWindow *pwindow,
224                 PerformancePrefs *subwindow,
225                 int x,
226                 int y);
227         int handle_event();
228         PreferencesWindow *pwindow;
229         PerformancePrefs *subwindow;
230 };
231
232 class PrefsRenderFarmNodes : public BC_ListBox
233 {
234 public:
235         PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
236         ~PrefsRenderFarmNodes();
237
238         int handle_event();
239         int selection_changed();
240         int column_resize_event();
241         void update_list();
242
243         const char *titles[PerformancePrefs::TOTAL_COLUMNS];
244         int widths[PerformancePrefs::TOTAL_COLUMNS];
245
246         PreferencesWindow *pwindow;
247         PerformancePrefs *subwindow;
248 };
249
250 class PrefsRenderFarmEditNode : public BC_TextBox
251 {
252 public:
253         PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
254         ~PrefsRenderFarmEditNode();
255
256         int handle_event();
257
258         PerformancePrefs *subwindow;
259         PreferencesWindow *pwindow;
260 };
261
262 class PrefsRenderFarmNewNode : public BC_GenericButton
263 {
264 public:
265         PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
266         ~PrefsRenderFarmNewNode();
267
268         int handle_event();
269
270
271         PerformancePrefs *subwindow;
272         PreferencesWindow *pwindow;
273 };
274
275 class PrefsRenderFarmReplaceNode : public BC_GenericButton
276 {
277 public:
278         PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
279                 PerformancePrefs *subwindow,
280                 int x,
281                 int y);
282         ~PrefsRenderFarmReplaceNode();
283
284         int handle_event();
285
286
287         PerformancePrefs *subwindow;
288         PreferencesWindow *pwindow;
289 };
290
291 class PrefsRenderFarmDelNode : public BC_GenericButton
292 {
293 public:
294         PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
295         ~PrefsRenderFarmDelNode();
296
297         int handle_event();
298
299         PerformancePrefs *subwindow;
300
301         PreferencesWindow *pwindow;
302 };
303
304 class PrefsRenderFarmSortNodes : public BC_GenericButton
305 {
306 public:
307         PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
308         ~PrefsRenderFarmSortNodes();
309
310         int handle_event();
311
312         PerformancePrefs *subwindow;
313         PreferencesWindow *pwindow;
314 };
315
316
317 class PrefsRenderFarmReset : public BC_GenericButton
318 {
319 public:
320         PrefsRenderFarmReset(PreferencesWindow *pwindow,
321                 PerformancePrefs *subwindow,
322                 int x, int y);
323
324         int handle_event();
325
326         PerformancePrefs *subwindow;
327         PreferencesWindow *pwindow;
328 };
329
330
331 class CICacheSize : public BC_TumbleTextBox
332 {
333 public:
334         CICacheSize(int x,
335                 int y,
336                 PreferencesWindow *pwindow,
337                 PerformancePrefs *subwindow);
338         int handle_event();
339         PreferencesWindow *pwindow;
340 };
341
342
343 #endif