r602: Fix baver's code... don't insert timecode when show_tc is not set
[cinelerra_cv/mob.git] / cinelerra / playbackprefs.h
blob7745a875b976124b02ccc399663990a5a1c969e8
1 #ifndef PLAYBACKPREFS_H
2 #define PLAYBACKPREFS_H
4 class PlaybackOutPath;
5 class PlaybackOutBits;
6 class PlaybackBufferSize;
7 class PlaybackBufferBytes;
8 class PlaybackOutChannels;
9 class PlaybackViewFollows;
10 class PlaybackRealTime;
11 class PlaybackSoftwareTimer;
12 class PlaybackModuleFragment;
13 class PlaybackReadLength;
14 class PlaybackDisableNoEdits;
15 class PlaybackPreload;
16 class PlaybackNearest;
17 class PlaybackBicubicBicubic;
18 class PlaybackBicubicBilinear;
19 class PlaybackBilinearBilinear;
20 class PlaybackDeblock;
21 class PlaybackHead;
22 class PlaybackHeadCount;
23 class PlaybackHost;
24 class TimecodeOffset;
27 #include "adeviceprefs.h"
28 #include "guicast.h"
29 #include "mwindow.inc"
30 #include "preferencesthread.h"
31 #include "vdeviceprefs.h"
33 class PlaybackPrefs : public PreferencesDialog
35 public:
36 PlaybackPrefs(MWindow *mwindow, PreferencesWindow *pwindow);
37 ~PlaybackPrefs();
39 int create_objects();
40 // int set_strategy(int strategy);
41 int get_buffer_bytes();
43 static char* strategy_to_string(int strategy);
44 void delete_strategy();
47 * ArrayList<PlaybackConfig*>* current_config_list();
48 * PlaybackConfig* current_config();
50 void update(int interpolation);
51 int draw_framerate();
53 ADevicePrefs *audio_device;
54 VDevicePrefs *video_device;
55 ArrayList<BC_ListBoxItem*> strategies;
57 PlaybackConfig *playback_config;
58 BC_Title *framerate_title;
59 PlaybackNearest *nearest_neighbor;
60 PlaybackBicubicBicubic *cubic_cubic;
61 PlaybackBicubicBilinear *cubic_linear;
62 PlaybackBilinearBilinear *linear_linear;
63 PlaybackDeblock *mpeg4_deblock;
65 // int64_t current_head;
66 // BC_Title *head_title;
67 // BC_Title *host_title;
68 // BC_Title *head_count_title;
69 BC_Title *vdevice_title;
70 // PlaybackHead *head_text;
71 // PlaybackHeadCount *head_count_text;
72 // PlaybackHost *host_text;
77 * class PlaybackStrategy : public BC_PopupTextBox
78 * {
79 * public:
80 * PlaybackStrategy(PlaybackPrefs *prefs, int x, int y);
81 * int handle_event();
83 * PlaybackPrefs *prefs;
84 * };
86 * class PlaybackHead : public BC_TumbleTextBox
87 * {
88 * public:
89 * PlaybackHead(PlaybackPrefs *prefs, int x, int y);
90 * int handle_event();
91 * PlaybackPrefs *prefs;
92 * };
94 * class PlaybackHeadCount : public BC_TumbleTextBox
95 * {
96 * public:
97 * PlaybackHeadCount(PlaybackPrefs *prefs, int x, int y);
98 * int handle_event();
99 * PlaybackPrefs *prefs;
100 * };
102 * class PlaybackHost : public BC_TextBox
104 * public:
105 * PlaybackHost(PlaybackPrefs *prefs, int x, int y);
106 * int handle_event();
107 * PlaybackPrefs *prefs;
108 * };
112 * class PlaybackBufferSize : public BC_TextBox
114 * public:
115 * PlaybackBufferSize(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
116 * int handle_event();
117 * PreferencesWindow *pwindow;
118 * PlaybackPrefs *playback;
119 * };
123 * class PlaybackReadLength : public BC_TextBox
125 * public:
126 * PlaybackReadLength(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
127 * int handle_event();
128 * PreferencesWindow *pwindow;
129 * PlaybackPrefs *playback;
130 * };
133 class PlaybackModuleFragment : public BC_PopupMenu
135 public:
136 PlaybackModuleFragment(int x,
137 int y,
138 PreferencesWindow *pwindow,
139 PlaybackPrefs *playback,
140 char *text);
141 int handle_event();
142 PreferencesWindow *pwindow;
143 PlaybackPrefs *playback;
147 * class PlaybackBufferBytes : public BC_Title
149 * public:
150 * PlaybackBufferBytes(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
152 * int update_bytes();
154 * PreferencesWindow *pwindow;
155 * PlaybackPrefs *playback;
156 * char string[1024];
157 * };
160 * class PlaybackDisableNoEdits : public BC_CheckBox
162 * public:
163 * PlaybackDisableNoEdits(PreferencesWindow *pwindow, int value, int y);
164 * int handle_event();
165 * PreferencesWindow *pwindow;
166 * };
169 class PlaybackViewFollows : public BC_CheckBox
171 public:
172 PlaybackViewFollows(PreferencesWindow *pwindow, int value, int y);
173 int handle_event();
174 PreferencesWindow *pwindow;
177 class PlaybackSoftwareTimer : public BC_CheckBox
179 public:
180 PlaybackSoftwareTimer(PreferencesWindow *pwindow, int value, int y);
181 int handle_event();
182 PreferencesWindow *pwindow;
185 class PlaybackRealTime : public BC_CheckBox
187 public:
188 PlaybackRealTime(PreferencesWindow *pwindow, int value, int y);
189 int handle_event();
190 PreferencesWindow *pwindow;
193 class VideoEveryFrame : public BC_CheckBox
195 public:
196 VideoEveryFrame(PreferencesWindow *pwindow, int x, int y);
197 int handle_event();
198 PreferencesWindow *pwindow;
201 class PlaybackDeblock : public BC_CheckBox
203 public:
204 PlaybackDeblock(PreferencesWindow *pwindow, int x, int y);
205 int handle_event();
206 PreferencesWindow *pwindow;
209 class PlaybackNearest : public BC_Radial
211 public:
212 PlaybackNearest(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
214 int handle_event();
216 PreferencesWindow *pwindow;
217 PlaybackPrefs *prefs;
220 class PlaybackBicubicBicubic : public BC_Radial
222 public:
223 PlaybackBicubicBicubic(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
225 int handle_event();
227 PreferencesWindow *pwindow;
228 PlaybackPrefs *prefs;
231 class PlaybackBicubicBilinear : public BC_Radial
233 public:
234 PlaybackBicubicBilinear(PreferencesWindow *pwindow,
235 PlaybackPrefs *prefs,
236 int value,
237 int x,
238 int y);
240 int handle_event();
242 PreferencesWindow *pwindow;
243 PlaybackPrefs *prefs;
246 class PlaybackBilinearBilinear : public BC_Radial
248 public:
249 PlaybackBilinearBilinear(PreferencesWindow *pwindow,
250 PlaybackPrefs *prefs,
251 int value,
252 int x,
253 int y);
255 int handle_event();
257 PreferencesWindow *pwindow;
258 PlaybackPrefs *prefs;
261 class PlaybackPreload : public BC_TextBox
263 public:
264 PlaybackPreload(int x,
265 int y,
266 PreferencesWindow *pwindow,
267 PlaybackPrefs *playback,
268 char *text);
269 int handle_event();
270 PreferencesWindow *pwindow;
271 PlaybackPrefs *playback;
274 class TimecodeOffset : public BC_TextBox
276 public:
277 TimecodeOffset(int x, int y, PreferencesWindow *pwindow,
278 PlaybackPrefs *playback, char *text, int unit);
279 int handle_event();
280 int unit;
281 PlaybackPrefs *playback;
282 PreferencesWindow *pwindow;
287 #endif