1 #ifndef PLAYBACKPREFS_H
2 #define PLAYBACKPREFS_H
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
;
22 class PlaybackHeadCount
;
27 #include "adeviceprefs.h"
29 #include "mwindow.inc"
30 #include "preferencesthread.h"
31 #include "vdeviceprefs.h"
33 class PlaybackPrefs
: public PreferencesDialog
36 PlaybackPrefs(MWindow
*mwindow
, PreferencesWindow
*pwindow
);
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
);
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
80 * PlaybackStrategy(PlaybackPrefs *prefs, int x, int y);
83 * PlaybackPrefs *prefs;
86 * class PlaybackHead : public BC_TumbleTextBox
89 * PlaybackHead(PlaybackPrefs *prefs, int x, int y);
91 * PlaybackPrefs *prefs;
94 * class PlaybackHeadCount : public BC_TumbleTextBox
97 * PlaybackHeadCount(PlaybackPrefs *prefs, int x, int y);
99 * PlaybackPrefs *prefs;
102 * class PlaybackHost : public BC_TextBox
105 * PlaybackHost(PlaybackPrefs *prefs, int x, int y);
106 * int handle_event();
107 * PlaybackPrefs *prefs;
112 * class PlaybackBufferSize : public BC_TextBox
115 * PlaybackBufferSize(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
116 * int handle_event();
117 * PreferencesWindow *pwindow;
118 * PlaybackPrefs *playback;
123 * class PlaybackReadLength : public BC_TextBox
126 * PlaybackReadLength(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
127 * int handle_event();
128 * PreferencesWindow *pwindow;
129 * PlaybackPrefs *playback;
133 class PlaybackModuleFragment
: public BC_PopupMenu
136 PlaybackModuleFragment(int x
,
138 PreferencesWindow
*pwindow
,
139 PlaybackPrefs
*playback
,
142 PreferencesWindow
*pwindow
;
143 PlaybackPrefs
*playback
;
147 * class PlaybackBufferBytes : public BC_Title
150 * PlaybackBufferBytes(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
152 * int update_bytes();
154 * PreferencesWindow *pwindow;
155 * PlaybackPrefs *playback;
160 * class PlaybackDisableNoEdits : public BC_CheckBox
163 * PlaybackDisableNoEdits(PreferencesWindow *pwindow, int value, int y);
164 * int handle_event();
165 * PreferencesWindow *pwindow;
169 class PlaybackViewFollows
: public BC_CheckBox
172 PlaybackViewFollows(PreferencesWindow
*pwindow
, int value
, int y
);
174 PreferencesWindow
*pwindow
;
177 class PlaybackSoftwareTimer
: public BC_CheckBox
180 PlaybackSoftwareTimer(PreferencesWindow
*pwindow
, int value
, int y
);
182 PreferencesWindow
*pwindow
;
185 class PlaybackRealTime
: public BC_CheckBox
188 PlaybackRealTime(PreferencesWindow
*pwindow
, int value
, int y
);
190 PreferencesWindow
*pwindow
;
193 class VideoEveryFrame
: public BC_CheckBox
196 VideoEveryFrame(PreferencesWindow
*pwindow
, int x
, int y
);
198 PreferencesWindow
*pwindow
;
201 class PlaybackDeblock
: public BC_CheckBox
204 PlaybackDeblock(PreferencesWindow
*pwindow
, int x
, int y
);
206 PreferencesWindow
*pwindow
;
209 class PlaybackNearest
: public BC_Radial
212 PlaybackNearest(PreferencesWindow
*pwindow
, PlaybackPrefs
*prefs
, int value
, int x
, int y
);
216 PreferencesWindow
*pwindow
;
217 PlaybackPrefs
*prefs
;
220 class PlaybackBicubicBicubic
: public BC_Radial
223 PlaybackBicubicBicubic(PreferencesWindow
*pwindow
, PlaybackPrefs
*prefs
, int value
, int x
, int y
);
227 PreferencesWindow
*pwindow
;
228 PlaybackPrefs
*prefs
;
231 class PlaybackBicubicBilinear
: public BC_Radial
234 PlaybackBicubicBilinear(PreferencesWindow
*pwindow
,
235 PlaybackPrefs
*prefs
,
242 PreferencesWindow
*pwindow
;
243 PlaybackPrefs
*prefs
;
246 class PlaybackBilinearBilinear
: public BC_Radial
249 PlaybackBilinearBilinear(PreferencesWindow
*pwindow
,
250 PlaybackPrefs
*prefs
,
257 PreferencesWindow
*pwindow
;
258 PlaybackPrefs
*prefs
;
261 class PlaybackPreload
: public BC_TextBox
264 PlaybackPreload(int x
,
266 PreferencesWindow
*pwindow
,
267 PlaybackPrefs
*playback
,
270 PreferencesWindow
*pwindow
;
271 PlaybackPrefs
*playback
;
274 class TimecodeOffset
: public BC_TextBox
277 TimecodeOffset(int x
, int y
, PreferencesWindow
*pwindow
,
278 PlaybackPrefs
*playback
, char *text
, int unit
);
281 PlaybackPrefs
*playback
;
282 PreferencesWindow
*pwindow
;