1 #ifndef PLAYBACKPREFS_H
2 #define PLAYBACKPREFS_H
4 class PlaybackBicubicBicubic
;
5 class PlaybackBicubicBilinear
;
6 class PlaybackBilinearBilinear
;
7 class PlaybackBufferBytes
;
8 class PlaybackBufferSize
;
10 class PlaybackDisableNoEdits
;
12 class PlaybackHeadCount
;
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
;
27 class VideoAsynchronous
;
29 #include "adeviceprefs.h"
31 #include "mwindow.inc"
32 #include "preferencesthread.h"
33 #include "vdeviceprefs.h"
35 class PlaybackPrefs
: public PreferencesDialog
38 PlaybackPrefs(MWindow
*mwindow
, PreferencesWindow
*pwindow
);
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
);
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
72 PlaybackModuleFragment(int x
,
74 PreferencesWindow
*pwindow
,
75 PlaybackPrefs
*playback
,
78 PreferencesWindow
*pwindow
;
79 PlaybackPrefs
*playback
;
82 class PlaybackAudioOffset
: public BC_TumbleTextBox
85 PlaybackAudioOffset(PreferencesWindow
*pwindow
,
86 PlaybackPrefs
*subwindow
,
90 PreferencesWindow
*pwindow
;
91 PlaybackPrefs
*playback
;
95 class PlaybackViewFollows
: public BC_CheckBox
98 PlaybackViewFollows(PreferencesWindow
*pwindow
, int value
, int y
);
100 PreferencesWindow
*pwindow
;
103 class PlaybackSoftwareTimer
: public BC_CheckBox
106 PlaybackSoftwareTimer(PreferencesWindow
*pwindow
, int value
, int y
);
108 PreferencesWindow
*pwindow
;
111 class PlaybackRealTime
: public BC_CheckBox
114 PlaybackRealTime(PreferencesWindow
*pwindow
, int value
, int y
);
116 PreferencesWindow
*pwindow
;
119 class VideoAsynchronous
: public BC_CheckBox
122 VideoAsynchronous(PreferencesWindow
*pwindow
, int x
, int y
);
124 PreferencesWindow
*pwindow
;
127 class VideoEveryFrame
: public BC_CheckBox
130 VideoEveryFrame(PreferencesWindow
*pwindow
,
131 PlaybackPrefs
*playback_prefs
,
135 PreferencesWindow
*pwindow
;
136 PlaybackPrefs
*playback_prefs
;
139 class PlaybackDeblock
: public BC_CheckBox
142 PlaybackDeblock(PreferencesWindow
*pwindow
, int x
, int y
);
144 PreferencesWindow
*pwindow
;
147 class PlaybackNearest
: public BC_Radial
150 PlaybackNearest(PreferencesWindow
*pwindow
, PlaybackPrefs
*prefs
, int value
, int x
, int y
);
154 PreferencesWindow
*pwindow
;
155 PlaybackPrefs
*prefs
;
158 class PlaybackBicubicBicubic
: public BC_Radial
161 PlaybackBicubicBicubic(PreferencesWindow
*pwindow
, PlaybackPrefs
*prefs
, int value
, int x
, int y
);
165 PreferencesWindow
*pwindow
;
166 PlaybackPrefs
*prefs
;
169 class PlaybackBicubicBilinear
: public BC_Radial
172 PlaybackBicubicBilinear(PreferencesWindow
*pwindow
,
173 PlaybackPrefs
*prefs
,
180 PreferencesWindow
*pwindow
;
181 PlaybackPrefs
*prefs
;
184 class PlaybackBilinearBilinear
: public BC_Radial
187 PlaybackBilinearBilinear(PreferencesWindow
*pwindow
,
188 PlaybackPrefs
*prefs
,
195 PreferencesWindow
*pwindow
;
196 PlaybackPrefs
*prefs
;
199 class PlaybackPreload
: public BC_TextBox
202 PlaybackPreload(int x
,
204 PreferencesWindow
*pwindow
,
205 PlaybackPrefs
*playback
,
208 PreferencesWindow
*pwindow
;
209 PlaybackPrefs
*playback
;
212 class PlaybackInterpolateRaw
: public BC_CheckBox
215 PlaybackInterpolateRaw(int x
,
217 PreferencesWindow
*pwindow
,
218 PlaybackPrefs
*playback
);
220 PreferencesWindow
*pwindow
;
221 PlaybackPrefs
*playback
;
224 class PlaybackWhiteBalanceRaw
: public BC_CheckBox
227 PlaybackWhiteBalanceRaw(int x
,
229 PreferencesWindow
*pwindow
,
230 PlaybackPrefs
*playback
);
232 PreferencesWindow
*pwindow
;
233 PlaybackPrefs
*playback
;
236 class TimecodeOffset
: public BC_TextBox
239 TimecodeOffset(int x
, int y
, PreferencesWindow
*pwindow
,
240 PlaybackPrefs
*playback
, char *text
, int unit
);
243 PlaybackPrefs
*playback
;
244 PreferencesWindow
*pwindow
;
248 class PlaybackSubtitle
: public BC_CheckBox
251 PlaybackSubtitle(int x
,
253 PreferencesWindow
*pwindow
,
254 PlaybackPrefs
*playback
);
256 PreferencesWindow
*pwindow
;
257 PlaybackPrefs
*playback
;
260 class PlaybackSubtitleNumber
: public BC_TumbleTextBox
263 PlaybackSubtitleNumber(int x
,
265 PreferencesWindow
*pwindow
,
266 PlaybackPrefs
*playback
);
268 PreferencesWindow
*pwindow
;
269 PlaybackPrefs
*playback
;