file probe prefs, updated dcraw, bugs - garbage, accel, ffmpeg/giphy.gif
[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         PrefsFileProbes *file_probes;
50
51         enum
52         {
53                 ENABLED_COLUMN,
54                 HOSTNAME_COLUMN,
55                 PORT_COLUMN,
56                 RATE_COLUMN,
57                 TOTAL_COLUMNS
58         };
59
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;
68 };
69
70
71
72 class PrefsUseBRender : public BC_CheckBox
73 {
74 public:
75         PrefsUseBRender(PreferencesWindow *pwindow,
76                 int x,
77                 int y);
78         int handle_event();
79         PreferencesWindow *pwindow;
80 };
81
82 class PrefsBRenderFragment : public BC_TumbleTextBox
83 {
84 public:
85         PrefsBRenderFragment(PreferencesWindow *pwindow,
86                 PerformancePrefs *subwindow,
87                 int x,
88                 int y);
89         int handle_event();
90         PreferencesWindow *pwindow;
91 };
92
93
94
95 class PrefsRenderPreroll : public BC_TumbleTextBox
96 {
97 public:
98         PrefsRenderPreroll(PreferencesWindow *pwindow,
99                 PerformancePrefs *subwindow,
100                 int x,
101                 int y);
102         ~PrefsRenderPreroll();
103
104         int handle_event();
105
106         PreferencesWindow *pwindow;
107 };
108
109 class PrefsBRenderPreroll : public BC_TumbleTextBox
110 {
111 public:
112         PrefsBRenderPreroll(PreferencesWindow *pwindow,
113                 PerformancePrefs *subwindow,
114                 int x,
115                 int y);
116         int handle_event();
117         PreferencesWindow *pwindow;
118 };
119
120 class PrefsForceUniprocessor : public BC_CheckBox
121 {
122 public:
123         PrefsForceUniprocessor(PreferencesWindow *pwindow, int x, int y);
124         ~PrefsForceUniprocessor();
125         int handle_event();
126
127         PreferencesWindow *pwindow;
128 };
129
130 class PrefsTrapSigSEGV : public BC_CheckBox
131 {
132 public:
133         PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y);
134         ~PrefsTrapSigSEGV();
135         int handle_event();
136
137         PerformancePrefs *perf_prefs;
138 };
139
140 class PrefsTrapSigINTR : public BC_CheckBox
141 {
142 public:
143         PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y);
144         ~PrefsTrapSigINTR();
145         int handle_event();
146
147         PerformancePrefs *perf_prefs;
148 };
149
150 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
151 {
152 public:
153         PrefsFFMPEGMarkerIndecies(PerformancePrefs *perf_prefs, int x, int y);
154         ~PrefsFFMPEGMarkerIndecies();
155
156         int handle_event();
157
158         PerformancePrefs *perf_prefs;
159 };
160
161
162
163
164 class PrefsRenderFarm : public BC_CheckBox
165 {
166 public:
167         PrefsRenderFarm(PreferencesWindow *pwindow, int x, int y);
168         ~PrefsRenderFarm();
169
170         int handle_event();
171
172
173         PreferencesWindow *pwindow;
174 };
175
176 class PrefsRenderFarmConsolidate : public BC_CheckBox
177 {
178 public:
179         PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y);
180         ~PrefsRenderFarmConsolidate();
181
182         int handle_event();
183
184
185         PreferencesWindow *pwindow;
186 };
187
188
189 class PrefsRenderFarmPort : public BC_TumbleTextBox
190 {
191 public:
192         PrefsRenderFarmPort(PreferencesWindow *pwindow,
193                 PerformancePrefs *subwindow,
194                 int x,
195                 int y);
196         ~PrefsRenderFarmPort();
197
198         int handle_event();
199
200         PreferencesWindow *pwindow;
201 };
202
203 class PrefsProjectSMP : public BC_TumbleTextBox
204 {
205 public:
206         PrefsProjectSMP(PreferencesWindow *pwindow,
207                 PerformancePrefs *subwindow, int x, int y);
208         ~PrefsProjectSMP();
209
210         int handle_event();
211         PreferencesWindow *pwindow;
212 };
213
214 class PrefsRenderFarmJobs : public BC_TumbleTextBox
215 {
216 public:
217         PrefsRenderFarmJobs(PreferencesWindow *pwindow,
218                 PerformancePrefs *subwindow,
219                 int x,
220                 int y);
221         ~PrefsRenderFarmJobs();
222
223         int handle_event();
224
225         PreferencesWindow *pwindow;
226 };
227
228 class PrefsRenderFarmMountpoint : public BC_TextBox
229 {
230 public:
231         PrefsRenderFarmMountpoint(PreferencesWindow *pwindow,
232                 PerformancePrefs *subwindow,
233                 int x,
234                 int y);
235         ~PrefsRenderFarmMountpoint();
236
237         int handle_event();
238
239         PreferencesWindow *pwindow;
240         PerformancePrefs *subwindow;
241 };
242
243 class PrefsRenderFarmVFS : public BC_CheckBox
244 {
245 public:
246         PrefsRenderFarmVFS(PreferencesWindow *pwindow,
247                 PerformancePrefs *subwindow,
248                 int x,
249                 int y);
250         int handle_event();
251         PreferencesWindow *pwindow;
252         PerformancePrefs *subwindow;
253 };
254
255 class PrefsRenderFarmNodes : public BC_ListBox
256 {
257 public:
258         PrefsRenderFarmNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
259         ~PrefsRenderFarmNodes();
260
261         int handle_event();
262         int selection_changed();
263         int column_resize_event();
264
265         PreferencesWindow *pwindow;
266         PerformancePrefs *subwindow;
267 };
268
269 class PrefsRenderFarmEditNode : public BC_TextBox
270 {
271 public:
272         PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
273         ~PrefsRenderFarmEditNode();
274
275         int handle_event();
276
277         PerformancePrefs *subwindow;
278         PreferencesWindow *pwindow;
279 };
280
281 class PrefsRenderFarmNewNode : public BC_GenericButton
282 {
283 public:
284         PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
285         ~PrefsRenderFarmNewNode();
286
287         int handle_event();
288
289
290         PerformancePrefs *subwindow;
291         PreferencesWindow *pwindow;
292 };
293
294 class PrefsRenderFarmReplaceNode : public BC_GenericButton
295 {
296 public:
297         PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
298                 PerformancePrefs *subwindow,
299                 int x,
300                 int y);
301         ~PrefsRenderFarmReplaceNode();
302
303         int handle_event();
304
305
306         PerformancePrefs *subwindow;
307         PreferencesWindow *pwindow;
308 };
309
310 class PrefsRenderFarmDelNode : public BC_GenericButton
311 {
312 public:
313         PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
314         ~PrefsRenderFarmDelNode();
315
316         int handle_event();
317
318         PerformancePrefs *subwindow;
319
320         PreferencesWindow *pwindow;
321 };
322
323 class PrefsRenderFarmSortNodes : public BC_GenericButton
324 {
325 public:
326         PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
327         ~PrefsRenderFarmSortNodes();
328
329         int handle_event();
330
331         PerformancePrefs *subwindow;
332         PreferencesWindow *pwindow;
333 };
334
335
336 class PrefsRenderFarmReset : public BC_GenericButton
337 {
338 public:
339         PrefsRenderFarmReset(PreferencesWindow *pwindow,
340                 PerformancePrefs *subwindow,
341                 int x, int y);
342
343         int handle_event();
344
345         PerformancePrefs *subwindow;
346         PreferencesWindow *pwindow;
347 };
348
349
350 class PrefsYUV420P_DVDlace : public BC_CheckBox
351 {
352 public:
353         PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
354                 PerformancePrefs *subwindow,
355                 int x, int y);
356
357         int handle_event();
358
359         PerformancePrefs *subwindow;
360         PreferencesWindow *pwindow;
361 };
362
363
364
365 class CICacheSize : public BC_TumbleTextBox
366 {
367 public:
368         CICacheSize(int x,
369                 int y,
370                 PreferencesWindow *pwindow,
371                 PerformancePrefs *subwindow);
372         int handle_event();
373         PreferencesWindow *pwindow;
374 };
375
376
377 class PrefsFileProbes : public BC_GenericButton
378 {
379 public:
380         PreferencesWindow *pwindow;
381         PerformancePrefs *perf_prefs;
382
383         int handle_event();
384         PrefsFileProbes(PreferencesWindow *pwindow, PerformancePrefs *perf_prefs, int x, int y);
385 };
386
387
388 #endif