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;
75 class PlaybackModuleFragment
: public BC_PopupMenu
78 PlaybackModuleFragment(int x
,
80 PreferencesWindow
*pwindow
,
81 PlaybackPrefs
*playback
,
84 PreferencesWindow
*pwindow
;
85 PlaybackPrefs
*playback
;
88 class PlaybackAudioOffset
: public BC_TumbleTextBox
91 PlaybackAudioOffset(PreferencesWindow
*pwindow
,
92 PlaybackPrefs
*subwindow
,
96 PreferencesWindow
*pwindow
;
97 PlaybackPrefs
*playback
;
101 class PlaybackViewFollows
: public BC_CheckBox
104 PlaybackViewFollows(PreferencesWindow
*pwindow
, int value
, int y
);
106 PreferencesWindow
*pwindow
;
109 class PlaybackSoftwareTimer
: public BC_CheckBox
112 PlaybackSoftwareTimer(PreferencesWindow
*pwindow
, int value
, int y
);
114 PreferencesWindow
*pwindow
;
117 class PlaybackRealTime
: public BC_CheckBox
120 PlaybackRealTime(PreferencesWindow
*pwindow
, int value
, int y
);
122 PreferencesWindow
*pwindow
;
125 class VideoEveryFrame
: public BC_CheckBox
128 VideoEveryFrame(PreferencesWindow
*pwindow
, int x
, int y
);
130 PreferencesWindow
*pwindow
;
133 class PlaybackDeblock
: public BC_CheckBox
136 PlaybackDeblock(PreferencesWindow
*pwindow
, int x
, int y
);
138 PreferencesWindow
*pwindow
;
141 class PlaybackNearest
: public BC_Radial
144 PlaybackNearest(PreferencesWindow
*pwindow
, PlaybackPrefs
*prefs
, int value
, int x
, int y
);
148 PreferencesWindow
*pwindow
;
149 PlaybackPrefs
*prefs
;
152 class PlaybackBicubicBicubic
: public BC_Radial
155 PlaybackBicubicBicubic(PreferencesWindow
*pwindow
, PlaybackPrefs
*prefs
, int value
, int x
, int y
);
159 PreferencesWindow
*pwindow
;
160 PlaybackPrefs
*prefs
;
163 class PlaybackBicubicBilinear
: public BC_Radial
166 PlaybackBicubicBilinear(PreferencesWindow
*pwindow
,
167 PlaybackPrefs
*prefs
,
174 PreferencesWindow
*pwindow
;
175 PlaybackPrefs
*prefs
;
178 class PlaybackBilinearBilinear
: public BC_Radial
181 PlaybackBilinearBilinear(PreferencesWindow
*pwindow
,
182 PlaybackPrefs
*prefs
,
189 PreferencesWindow
*pwindow
;
190 PlaybackPrefs
*prefs
;
193 class PlaybackPreload
: public BC_TextBox
196 PlaybackPreload(int x
,
198 PreferencesWindow
*pwindow
,
199 PlaybackPrefs
*playback
,
202 PreferencesWindow
*pwindow
;
203 PlaybackPrefs
*playback
;
206 class TimecodeOffset
: public BC_TextBox
209 TimecodeOffset(int x
, int y
, PreferencesWindow
*pwindow
,
210 PlaybackPrefs
*playback
, char *text
, int unit
);
213 PlaybackPrefs
*playback
;
214 PreferencesWindow
*pwindow
;