r1006: configure: Use libx264_pic instead of libx264 if available.
[cinelerra_cv/mob.git] / cinelerra / playbackprefs.h
blobee4646165c642f949f50483226bc67f9a3b37007
1 #ifndef PLAYBACKPREFS_H
2 #define PLAYBACKPREFS_H
4 class PlaybackBicubicBicubic;
5 class PlaybackBicubicBilinear;
6 class PlaybackBilinearBilinear;
7 class PlaybackBufferBytes;
8 class PlaybackBufferSize;
9 class PlaybackDeblock;
10 class PlaybackDisableNoEdits;
11 class PlaybackHead;
12 class PlaybackHeadCount;
13 class PlaybackHost;
14 class PlaybackInterpolateRaw;
15 class PlaybackModuleFragment;
16 class PlaybackNearest;
17 class PlaybackOutBits;
18 class PlaybackOutChannels;
19 class PlaybackOutPath;
20 class PlaybackPreload;
21 class PlaybackReadLength;
22 class PlaybackRealTime;
23 class PlaybackSoftwareTimer;
24 class PlaybackViewFollows;
25 class PlaybackWhiteBalanceRaw;
26 class TimecodeOffset;
27 class VideoAsynchronous;
29 #include "adeviceprefs.h"
30 #include "guicast.h"
31 #include "mwindow.inc"
32 #include "preferencesthread.h"
33 #include "vdeviceprefs.h"
35 class PlaybackPrefs : public PreferencesDialog
37 public:
38 PlaybackPrefs(MWindow *mwindow, PreferencesWindow *pwindow);
39 ~PlaybackPrefs();
41 int create_objects();
42 // int set_strategy(int strategy);
43 int get_buffer_bytes();
45 static char* strategy_to_string(int strategy);
46 void delete_strategy();
48 void update(int interpolation);
49 int draw_framerate();
51 ADevicePrefs *audio_device;
52 VDevicePrefs *video_device;
53 ArrayList<BC_ListBoxItem*> strategies;
55 PlaybackConfig *playback_config;
56 BC_Title *framerate_title;
57 PlaybackNearest *nearest_neighbor;
58 PlaybackBicubicBicubic *cubic_cubic;
59 PlaybackBicubicBilinear *cubic_linear;
60 PlaybackBilinearBilinear *linear_linear;
61 PlaybackDeblock *mpeg4_deblock;
62 PlaybackInterpolateRaw *interpolate_raw;
63 PlaybackWhiteBalanceRaw *white_balance_raw;
64 VideoAsynchronous *asynchronous;
66 BC_Title *vdevice_title;
69 class PlaybackModuleFragment : public BC_PopupMenu
71 public:
72 PlaybackModuleFragment(int x,
73 int y,
74 PreferencesWindow *pwindow,
75 PlaybackPrefs *playback,
76 char *text);
77 int handle_event();
78 PreferencesWindow *pwindow;
79 PlaybackPrefs *playback;
82 class PlaybackAudioOffset : public BC_TumbleTextBox
84 public:
85 PlaybackAudioOffset(PreferencesWindow *pwindow,
86 PlaybackPrefs *subwindow,
87 int x,
88 int y);
89 int handle_event();
90 PreferencesWindow *pwindow;
91 PlaybackPrefs *playback;
95 class PlaybackViewFollows : public BC_CheckBox
97 public:
98 PlaybackViewFollows(PreferencesWindow *pwindow, int value, int y);
99 int handle_event();
100 PreferencesWindow *pwindow;
103 class PlaybackSoftwareTimer : public BC_CheckBox
105 public:
106 PlaybackSoftwareTimer(PreferencesWindow *pwindow, int value, int y);
107 int handle_event();
108 PreferencesWindow *pwindow;
111 class PlaybackRealTime : public BC_CheckBox
113 public:
114 PlaybackRealTime(PreferencesWindow *pwindow, int value, int y);
115 int handle_event();
116 PreferencesWindow *pwindow;
119 class VideoAsynchronous : public BC_CheckBox
121 public:
122 VideoAsynchronous(PreferencesWindow *pwindow, int x, int y);
123 int handle_event();
124 PreferencesWindow *pwindow;
127 class VideoEveryFrame : public BC_CheckBox
129 public:
130 VideoEveryFrame(PreferencesWindow *pwindow,
131 PlaybackPrefs *playback_prefs,
132 int x,
133 int y);
134 int handle_event();
135 PreferencesWindow *pwindow;
136 PlaybackPrefs *playback_prefs;
139 class PlaybackDeblock : public BC_CheckBox
141 public:
142 PlaybackDeblock(PreferencesWindow *pwindow, int x, int y);
143 int handle_event();
144 PreferencesWindow *pwindow;
147 class PlaybackNearest : public BC_Radial
149 public:
150 PlaybackNearest(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
152 int handle_event();
154 PreferencesWindow *pwindow;
155 PlaybackPrefs *prefs;
158 class PlaybackBicubicBicubic : public BC_Radial
160 public:
161 PlaybackBicubicBicubic(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
163 int handle_event();
165 PreferencesWindow *pwindow;
166 PlaybackPrefs *prefs;
169 class PlaybackBicubicBilinear : public BC_Radial
171 public:
172 PlaybackBicubicBilinear(PreferencesWindow *pwindow,
173 PlaybackPrefs *prefs,
174 int value,
175 int x,
176 int y);
178 int handle_event();
180 PreferencesWindow *pwindow;
181 PlaybackPrefs *prefs;
184 class PlaybackBilinearBilinear : public BC_Radial
186 public:
187 PlaybackBilinearBilinear(PreferencesWindow *pwindow,
188 PlaybackPrefs *prefs,
189 int value,
190 int x,
191 int y);
193 int handle_event();
195 PreferencesWindow *pwindow;
196 PlaybackPrefs *prefs;
199 class PlaybackPreload : public BC_TextBox
201 public:
202 PlaybackPreload(int x,
203 int y,
204 PreferencesWindow *pwindow,
205 PlaybackPrefs *playback,
206 char *text);
207 int handle_event();
208 PreferencesWindow *pwindow;
209 PlaybackPrefs *playback;
212 class PlaybackInterpolateRaw : public BC_CheckBox
214 public:
215 PlaybackInterpolateRaw(int x,
216 int y,
217 PreferencesWindow *pwindow,
218 PlaybackPrefs *playback);
219 int handle_event();
220 PreferencesWindow *pwindow;
221 PlaybackPrefs *playback;
224 class PlaybackWhiteBalanceRaw : public BC_CheckBox
226 public:
227 PlaybackWhiteBalanceRaw(int x,
228 int y,
229 PreferencesWindow *pwindow,
230 PlaybackPrefs *playback);
231 int handle_event();
232 PreferencesWindow *pwindow;
233 PlaybackPrefs *playback;
236 class TimecodeOffset : public BC_TextBox
238 public:
239 TimecodeOffset(int x, int y, PreferencesWindow *pwindow,
240 PlaybackPrefs *playback, char *text, int unit);
241 int handle_event();
242 int unit;
243 PlaybackPrefs *playback;
244 PreferencesWindow *pwindow;
248 class PlaybackSubtitle : public BC_CheckBox
250 public:
251 PlaybackSubtitle(int x,
252 int y,
253 PreferencesWindow *pwindow,
254 PlaybackPrefs *playback);
255 int handle_event();
256 PreferencesWindow *pwindow;
257 PlaybackPrefs *playback;
260 class PlaybackSubtitleNumber : public BC_TumbleTextBox
262 public:
263 PlaybackSubtitleNumber(int x,
264 int y,
265 PreferencesWindow *pwindow,
266 PlaybackPrefs *playback);
267 int handle_event();
268 PreferencesWindow *pwindow;
269 PlaybackPrefs *playback;
273 #endif