font debug env var, drag fixes, cposer hide scrollbar, plugin tool tip
[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[4];
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
242         PreferencesWindow *pwindow;
243         PerformancePrefs *subwindow;
244 };
245
246 class PrefsRenderFarmEditNode : public BC_TextBox
247 {
248 public:
249         PrefsRenderFarmEditNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
250         ~PrefsRenderFarmEditNode();
251
252         int handle_event();
253
254         PerformancePrefs *subwindow;
255         PreferencesWindow *pwindow;
256 };
257
258 class PrefsRenderFarmNewNode : public BC_GenericButton
259 {
260 public:
261         PrefsRenderFarmNewNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
262         ~PrefsRenderFarmNewNode();
263
264         int handle_event();
265
266
267         PerformancePrefs *subwindow;
268         PreferencesWindow *pwindow;
269 };
270
271 class PrefsRenderFarmReplaceNode : public BC_GenericButton
272 {
273 public:
274         PrefsRenderFarmReplaceNode(PreferencesWindow *pwindow,
275                 PerformancePrefs *subwindow,
276                 int x,
277                 int y);
278         ~PrefsRenderFarmReplaceNode();
279
280         int handle_event();
281
282
283         PerformancePrefs *subwindow;
284         PreferencesWindow *pwindow;
285 };
286
287 class PrefsRenderFarmDelNode : public BC_GenericButton
288 {
289 public:
290         PrefsRenderFarmDelNode(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
291         ~PrefsRenderFarmDelNode();
292
293         int handle_event();
294
295         PerformancePrefs *subwindow;
296
297         PreferencesWindow *pwindow;
298 };
299
300 class PrefsRenderFarmSortNodes : public BC_GenericButton
301 {
302 public:
303         PrefsRenderFarmSortNodes(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x, int y);
304         ~PrefsRenderFarmSortNodes();
305
306         int handle_event();
307
308         PerformancePrefs *subwindow;
309         PreferencesWindow *pwindow;
310 };
311
312
313 class PrefsRenderFarmReset : public BC_GenericButton
314 {
315 public:
316         PrefsRenderFarmReset(PreferencesWindow *pwindow,
317                 PerformancePrefs *subwindow,
318                 int x, int y);
319
320         int handle_event();
321
322         PerformancePrefs *subwindow;
323         PreferencesWindow *pwindow;
324 };
325
326
327 class CICacheSize : public BC_TumbleTextBox
328 {
329 public:
330         CICacheSize(int x,
331                 int y,
332                 PreferencesWindow *pwindow,
333                 PerformancePrefs *subwindow);
334         int handle_event();
335         PreferencesWindow *pwindow;
336 };
337
338
339 #endif