1 /*
2  * This file is part of MPlayer.
3  *
4  * MPlayer is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * MPlayer is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef MPLAYER_CFG_MPLAYER_H
20 #define MPLAYER_CFG_MPLAYER_H
21 
22 /*
23  * config for cfgparser
24  */
25 
26 #include <stddef.h>
27 #include "cfg-common.h"
28 #include "gui/interface.h"
29 #include "input/lirc.h"
30 #include "libmpcodecs/vd.h"
31 #include "libmenu/menu.h"
32 #include "libvo/aspect.h"
33 #include "libvo/geometry.h"
34 #include "libvo/vo_dxr2.h"
35 #include "libvo/vo_fbdev.h"
36 #include "libvo/vo_zr.h"
37 #include "mp_fifo.h"
38 
39 
40 const m_option_t vd_conf[]={
41     {"help", "Use MPlayer with an appropriate video file instead of live partners to avoid vd.\n", CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
42     {NULL, NULL, 0, 0, 0, 0, NULL}
43 };
44 
45 #ifdef CONFIG_TV
46 const m_option_t tvscan_conf[]={
47     {"autostart", &stream_tv_defaults.scan, CONF_TYPE_FLAG, 0, 0, 1, NULL},
48     {"threshold", &stream_tv_defaults.scan_threshold, CONF_TYPE_INT, CONF_RANGE, 1, 100, NULL},
49     {"period", &stream_tv_defaults.scan_period, CONF_TYPE_FLOAT, CONF_RANGE, 0.1, 2.0, NULL},
50     {NULL, NULL, 0, 0, 0, 0, NULL}
51 };
52 #endif
53 /*
54  * CONF_TYPE_FUNC_FULL :
55  * allows own implementations for passing the params
56  *
57  * the function receives parameter name and argument (if it does not start with - )
58  * useful with a conf.name like 'aa*' to parse several parameters to a function
59  * return 0 =ok, but we didn't need the param (could be the filename)
60  * return 1 =ok, we accepted the param
61  * negative values: see cfgparser.h, ERR_XXX
62  *
63  * by Folke
64  */
65 
66 const m_option_t mplayer_opts[]={
67     /* name, pointer, type, flags, min, max */
68 
69 //---------------------- libao/libvo options ------------------------
70     {"o", "Option -o has been renamed to -vo (video-out), use -vo.\n",
71      CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
72     {"vo", &video_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
73     {"ao", &audio_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
74     {"fixed-vo", &fixed_vo, CONF_TYPE_FLAG,CONF_GLOBAL , 0, 1, NULL},
75     {"nofixed-vo", &fixed_vo, CONF_TYPE_FLAG,CONF_GLOBAL, 1, 0, NULL},
76     {"ontop", &vo_ontop, CONF_TYPE_FLAG, 0, 0, 1, NULL},
77     {"noontop", &vo_ontop, CONF_TYPE_FLAG, 0, 1, 0, NULL},
78     {"rootwin", &vo_rootwin, CONF_TYPE_FLAG, 0, 0, 1, NULL},
79     {"border", &vo_border, CONF_TYPE_FLAG, 0, 0, 1, NULL},
80     {"noborder", &vo_border, CONF_TYPE_FLAG, 0, 1, 0, NULL},
81 
82     {"aop", "-aop has been removed, use -af instead.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
83     {"dsp", "-dsp has been removed. Use -ao oss:dsp_path instead.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
84     {"mixer", &mixer_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
85     {"mixer-channel", &mixer_channel, CONF_TYPE_STRING, 0, 0, 0, NULL},
86     {"softvol", &soft_vol, CONF_TYPE_FLAG, 0, 0, 1, NULL},
87     {"nosoftvol", &soft_vol, CONF_TYPE_FLAG, 0, 1, 0, NULL},
88     {"softvol-max", &soft_vol_max, CONF_TYPE_FLOAT, CONF_RANGE, 10, 10000, NULL},
89     {"volstep", &volstep, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
90     {"volume", &start_volume, CONF_TYPE_FLOAT, CONF_RANGE, -1, 10000, NULL},
91     {"master", "Option -master has been removed, use -af volume instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
92     // override audio buffer size (used only by -ao oss, anyway obsolete...)
93     {"abs", &ao_data.buffersize, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
94 
95     // -ao pcm options:
96     {"aofile", "-aofile has been removed. Use -ao pcm:file=<filename> instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
97     {"waveheader", "-waveheader has been removed. Use -ao pcm:waveheader instead.\n", CONF_TYPE_PRINT, 0, 0, 1, NULL},
98     {"nowaveheader", "-nowaveheader has been removed. Use -ao pcm:nowaveheader instead.\n", CONF_TYPE_PRINT, 0, 1, 0, NULL},
99 
100     {"alsa", "-alsa has been removed. Remove it from your config file.\n",
101      CONF_TYPE_PRINT, 0, 0, 0, NULL},
102     {"noalsa", "-noalsa has been removed. Remove it from your config file.\n",
103      CONF_TYPE_PRINT, 0, 0, 0, NULL},
104     {"edlout", &edl_output_filename,  CONF_TYPE_STRING, 0, 0, 0, NULL},
105     {"edl-backward-delay", &edl_backward_delay,  CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
106     {"edl-start-pts", &edl_start_pts,  CONF_TYPE_FLAG, 0, 0, 1, NULL},
107     {"noedl-start-pts", &edl_start_pts,  CONF_TYPE_FLAG, 0, 1, 0, NULL},
108 
109 #ifdef CONFIG_X11
110     {"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0, NULL},
111 #endif
112 
113     // -vo png only:
114 #ifdef CONFIG_PNG
115     {"z", "-z has been removed. Use -vo png:z=<0-9> instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
116 #endif
117     // -vo jpeg only:
118 #ifdef CONFIG_JPEG
119     {"jpeg", "-jpeg has been removed. Use -vo jpeg:<options> instead.\n",
120      CONF_TYPE_PRINT, 0, 0, 0, NULL},
121 #endif
122     // -vo sdl only:
123     {"sdl", "Use -vo sdl:driver=<driver> instead of -vo sdl -sdl driver.\n",
124      CONF_TYPE_PRINT, 0, 0, 0, NULL},
125     {"noxv", "-noxv has been removed. Use -vo sdl:nohwaccel instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
126     {"forcexv", "-forcexv has been removed. Use -vo sdl:forcexv instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
127     // -ao sdl only:
128     {"sdla", "Use -ao sdl:driver instead of -ao sdl -sdla driver.\n",
129      CONF_TYPE_PRINT, 0, 0, 0, NULL},
130 
131 #if defined(CONFIG_FBDEV) || defined(CONFIG_VESA)
132     {"monitor-hfreq", &monitor_hfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
133     {"monitor-vfreq", &monitor_vfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
134     {"monitor-dotclock", &monitor_dotclock_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
135 #endif
136 
137 #ifdef CONFIG_FBDEV
138     {"fbmode", &fb_mode_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
139     {"fbmodeconfig", &fb_mode_cfgfile, CONF_TYPE_STRING, 0, 0, 0, NULL},
140 #endif
141 
142     // force window width/height or resolution (with -vm)
143     {"x", &opt_screen_size_x, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL},
144     {"y", &opt_screen_size_y, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL},
145     // set screen dimensions (when not detectable or virtual!=visible)
146     {"screenw", &vo_screenwidth, CONF_TYPE_INT, CONF_RANGE|CONF_OLD, 0, 4096, NULL},
147     {"screenh", &vo_screenheight, CONF_TYPE_INT, CONF_RANGE|CONF_OLD, 0, 4096, NULL},
148     // Geometry string
149     {"geometry", &vo_geometry, CONF_TYPE_STRING, 0, 0, 0, NULL},
150     // vo name (X classname) and window title strings
151     {"name", &vo_winname, CONF_TYPE_STRING, 0, 0, 0, NULL},
152     {"title", &vo_wintitle, CONF_TYPE_STRING, 0, 0, 0, NULL},
153     // set aspect ratio of monitor - useful for 16:9 TV-out
154     {"monitoraspect", &force_monitor_aspect, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 9.0, NULL},
155     {"monitorpixelaspect", &monitor_pixel_aspect, CONF_TYPE_FLOAT, CONF_RANGE, 0.2, 9.0, NULL},
156     // video mode switching: (x11,xv,dga)
157     {"vm", &vidmode, CONF_TYPE_FLAG, 0, 0, 1, NULL},
158     {"novm", &vidmode, CONF_TYPE_FLAG, 0, 1, 0, NULL},
159     // start in fullscreen mode:
160     {"fs", &fullscreen, CONF_TYPE_FLAG, 0, 0, 1, NULL},
161     {"nofs", &fullscreen, CONF_TYPE_FLAG, 0, 1, 0, NULL},
162     // set fullscreen switch method (workaround for buggy WMs)
163     {"fsmode", "-fsmode is obsolete, avoid it and use -fstype instead.\nIf you really want it, try -fsmode-dontuse, but don't report bugs!\n", CONF_TYPE_PRINT, CONF_RANGE, 0, 31, NULL},
164     {"fsmode-dontuse", &vo_fsmode, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
165     // set bpp (x11+vm, dga, fbdev, vesa, svga?)
166     {"bpp", &vo_dbpp, CONF_TYPE_INT, CONF_RANGE, 0, 32, NULL},
167     {"colorkey", &vo_colorkey, CONF_TYPE_INT, 0, 0, 0, NULL},
168     {"nocolorkey", &vo_colorkey, CONF_TYPE_FLAG, 0, 0, 0x1000000, NULL},
169     {"double", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 0, 1, NULL},
170     {"nodouble", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 1, 0, NULL},
171     // wait for v-sync (vesa)
172     {"vsync", &vo_vsync, CONF_TYPE_FLAG, 0, 0, 1, NULL},
173     {"novsync", &vo_vsync, CONF_TYPE_FLAG, 0, 1, 0, NULL},
174     {"panscan", &vo_panscan, CONF_TYPE_FLOAT, CONF_RANGE, -1.0, 1.0, NULL},
175     {"panscanrange", &vo_panscanrange, CONF_TYPE_FLOAT, CONF_RANGE, -19.0, 99.0, NULL},
176     {"border-pos-x", &vo_border_pos_x, CONF_TYPE_FLOAT, CONF_RANGE, -1, 2, NULL},
177     {"border-pos-y", &vo_border_pos_y, CONF_TYPE_FLOAT, CONF_RANGE, -1, 2, NULL},
178     {"fs-border-left",   &vo_fs_border_l, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL},
179     {"fs-border-right",  &vo_fs_border_r, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL},
180     {"fs-border-top",    &vo_fs_border_t, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL},
181     {"fs-border-bottom", &vo_fs_border_b, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL},
182     {"monitor-orientation", &vo_rotate, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
183 
184     {"grabpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 0, 1, NULL},
185     {"nograbpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 1, 0, NULL},
186 
187     {"adapter", &vo_adapter_num, CONF_TYPE_INT, CONF_RANGE, 0, 5, NULL},
188     {"refreshrate",&vo_refresh_rate,CONF_TYPE_INT,CONF_RANGE, 0,100, NULL},
189     {"wid", &WinID, CONF_TYPE_INT64, 0, 0, 0, NULL},
190 #ifdef CONFIG_X11
191     // x11,xv,xmga,xvidix
192     {"icelayer", "-icelayer has been removed. Use -fstype layer:<number> instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
193     {"stop-xscreensaver", &stop_xscreensaver, CONF_TYPE_FLAG, 0, 0, 1, NULL},
194     {"nostop-xscreensaver", &stop_xscreensaver, CONF_TYPE_FLAG, 0, 1, 0, NULL},
195     {"stop_xscreensaver", "Use -stop-xscreensaver instead, options with _ have been obsoleted.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
196     {"fstype", &vo_fstype_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
197 #endif
198     {"heartbeat-cmd", &heartbeat_cmd, CONF_TYPE_STRING, 0, 0, 0, NULL},
199     {"heartbeat-interval", &heartbeat_interval, CONF_TYPE_FLOAT, CONF_MIN, 0.0, 0, NULL},
200     {"mouseinput", &vo_nomouse_input, CONF_TYPE_FLAG, 0, 1, 0, NULL},
201     {"nomouseinput", &vo_nomouse_input, CONF_TYPE_FLAG,0, 0, 1, NULL},
202 
203     {"xineramascreen", &xinerama_screen, CONF_TYPE_INT, CONF_RANGE, -2, 32, NULL},
204     {"screen",         &xinerama_screen, CONF_TYPE_INT, CONF_RANGE, -2, 32, NULL},
205 
206     {"brightness",&vo_gamma_brightness, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
207     {"saturation",&vo_gamma_saturation, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
208     {"contrast",&vo_gamma_contrast, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
209     {"hue",&vo_gamma_hue, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
210     {"gamma",&vo_gamma_gamma, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
211     {"keepaspect", &vo_keepaspect, CONF_TYPE_FLAG, 0, 0, 1, NULL},
212     {"nokeepaspect", &vo_keepaspect, CONF_TYPE_FLAG, 0, 1, 0, NULL},
213 
214     // direct rendering (decoding to video out buffer)
215     {"dr", &vo_directrendering, CONF_TYPE_FLAG, 0, 0, 1, NULL},
216     {"nodr", &vo_directrendering, CONF_TYPE_FLAG, 0, 1, 0, NULL},
217     {"vaa_dr", "-vaa_dr has been removed, use -dr.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
218     {"vaa_nodr", "-vaa_nodr has been removed, use -nodr.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
219 
220 #ifdef CONFIG_AA
221     // -vo aa
222     {"aa*", "-aa* has been removed. Use -vo aa:suboption instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
223 #endif
224 
225 #ifdef CONFIG_ZR
226     // -vo zr
227     {"zr*", vo_zr_parseoption, CONF_TYPE_FUNC_FULL, 0, 0, 0, &vo_zr_revertoption },
228 #endif
229 
230 #ifdef CONFIG_DXR2
231     {"dxr2", &dxr2_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
232 #endif
233 
234 
235 //---------------------- mplayer-only options ------------------------
236 
237     {"use-filedir-conf", &use_filedir_conf, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
238     {"nouse-filedir-conf", &use_filedir_conf, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
239     {"use-filename-title", &use_filename_title, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
240     {"nouse-filename-title", &use_filename_title, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
241 #ifdef CONFIG_CRASH_DEBUG
242     {"crash-debug", &crash_debug, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
243     {"nocrash-debug", &crash_debug, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
244 #endif
245     {"osdlevel", &osd_level, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
246     {"osd-duration", &osd_duration, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
247     {"osd-fractions", &osd_fractions, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
248 #ifdef CONFIG_MENU
249     {"menu", &use_menu, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
250     {"nomenu", &use_menu, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
251     {"menu-root", &menu_root, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
252     {"menu-cfg", &menu_cfg, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
253     {"menu-startup", &menu_startup, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
254     {"menu-keepdir", &menu_keepdir, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
255     {"menu-chroot", &menu_chroot, CONF_TYPE_STRING, 0, 0, 0, NULL},
256 #ifdef CONFIG_FRIBIDI
257     {"menu-fribidi-charset", &menu_fribidi_charset, CONF_TYPE_STRING, 0, 0, 0, NULL},
258     {"menu-flip-hebrew", &menu_flip_hebrew, CONF_TYPE_FLAG, 0, 0, 1, NULL},
259     {"menu-noflip-hebrew", &menu_flip_hebrew, CONF_TYPE_FLAG, 0, 1, 0, NULL},
260     {"menu-flip-hebrew-commas", &menu_fribidi_flip_commas, CONF_TYPE_FLAG, 0, 1, 0, NULL},
261     {"menu-noflip-hebrew-commas", &menu_fribidi_flip_commas, CONF_TYPE_FLAG, 0, 0, 1, NULL},
262 #endif /* CONFIG_FRIBIDI */
263 #else
264     {"menu", "OSD menu support was not compiled in.\n", CONF_TYPE_PRINT,0, 0, 0, NULL},
265 #endif /* CONFIG_MENU */
266 
267     {"sstep", &step_sec, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
268 
269     {"framedrop", &frame_dropping, CONF_TYPE_FLAG, 0, 0, 1, NULL},
270     {"hardframedrop", &frame_dropping, CONF_TYPE_FLAG, 0, 0, 2, NULL},
271     {"noframedrop", &frame_dropping, CONF_TYPE_FLAG, 0, 1, 0, NULL},
272 
273     {"autoq", &auto_quality, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
274 
275     {"benchmark", &benchmark, CONF_TYPE_FLAG, 0, 0, 1, NULL},
276 
277 #ifdef CONFIG_NETWORKING
278     {"udp-slave", &udp_slave, CONF_TYPE_FLAG, 0, 0, 1, NULL},
279     {"udp-master", &udp_master, CONF_TYPE_FLAG, 0, 0, 1, NULL},
280     {"udp-ip", &udp_ip, CONF_TYPE_STRING, 0, 0, 1, NULL},
281     {"udp-port", &udp_port, CONF_TYPE_INT, 0, 1, 65535, NULL},
282     {"udp-seek-threshold", &udp_seek_threshold, CONF_TYPE_FLOAT, CONF_RANGE, 0.1, 100, NULL},
283 #endif /* CONFIG_NETWORKING */
284 
285     // dump some stream out instead of playing the file
286     // this really should be in MEncoder instead of MPlayer... -> TODO
287     {"dumpfile", &stream_dump_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
288     {"dumpaudio", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 1, NULL},
289     {"dumpvideo", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 2, NULL},
290     {"dumpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 3, NULL},
291     {"dumpmpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 4, NULL},
292     {"dumpstream", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 5, NULL},
293     {"dumpsrtsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 6, NULL},
294     {"dumpmicrodvdsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 7, NULL},
295     {"dumpjacosub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 8, NULL},
296     {"dumpsami", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 9, NULL},
297 
298     {"capture", &capture_dump, CONF_TYPE_FLAG, 0, 0, 1, NULL},
299 
300 #ifdef CONFIG_LIRC
301     {"lircconf", &lirc_configfile, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
302 #endif
303 
304     {"gui", "The -gui option will only work as the first command line argument.\n", CONF_TYPE_PRINT, 0, 0, 0, PRIV_NO_EXIT},
305     {"nogui", "The -nogui option will only work as the first command line argument.\n", CONF_TYPE_PRINT, 0, 0, 0, PRIV_NO_EXIT},
306 
307 #ifdef CONFIG_GUI
308     {"skin", &skinName, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
309     {"enqueue", &enqueue, CONF_TYPE_FLAG, 0, 0, 1, NULL},
310     {"noenqueue", &enqueue, CONF_TYPE_FLAG, 0, 1, 0, NULL},
311     {"guiwid", "-guiwid has been removed, use -gui-wid instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
312     {"gui-wid", &guiWinID, CONF_TYPE_INT, 0, 0, 0, NULL},
313     {"gui-include", cfg_gui_include, CONF_TYPE_FUNC_PARAM, CONF_NOCFG|CONF_NOSAVE, 0, 0, NULL},
314 #endif
315 
316     {"noloop", &mpctx_s.loop_times, CONF_TYPE_FLAG, 0, 0, -1, NULL},
317     {"loop", &mpctx_s.loop_times, CONF_TYPE_INT, CONF_RANGE, -1, 10000, NULL},
318     {"allow-dangerous-playlist-parsing", &allow_playlist_parsing, CONF_TYPE_FLAG, 0, 0, 1, NULL},
319     {"noallow-dangerous-playlist-parsing", &allow_playlist_parsing, CONF_TYPE_FLAG, 0, 1, 0, NULL},
320     {"playlist", NULL, CONF_TYPE_STRING, CONF_NOCFG, 0, 0, NULL},
321     {"shuffle", NULL, CONF_TYPE_FLAG, CONF_NOCFG, 0, 0, NULL},
322     {"noshuffle", NULL, CONF_TYPE_FLAG, CONF_NOCFG, 0, 0, NULL},
323 
324     // a-v sync stuff:
325     {"correct-pts", &user_correct_pts, CONF_TYPE_FLAG, 0, 0, 1, NULL},
326     {"nocorrect-pts", &user_correct_pts, CONF_TYPE_FLAG, 0, 1, 0, NULL},
327     {"noautosync", &autosync, CONF_TYPE_FLAG, 0, 0, -1, NULL},
328     {"autosync", &autosync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL},
329 
330     {"softsleep", &softsleep, CONF_TYPE_FLAG, 0, 0, 1, NULL},
331 #ifdef HAVE_RTC
332     {"nortc", &nortc, CONF_TYPE_FLAG, 0, 0, 1, NULL},
333     {"rtc", &nortc, CONF_TYPE_FLAG, 0, 1, 0, NULL},
334     {"rtc-device", &rtc_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
335 #endif
336 
337     {"term-osd", &term_osd, CONF_TYPE_FLAG, 0, 0, 1, NULL},
338     {"noterm-osd", &term_osd, CONF_TYPE_FLAG, 0, 1, 0, NULL},
339     {"term-osd-esc", &term_osd_esc, CONF_TYPE_STRING, 0, 0, 1, NULL},
340     {"playing-msg", &playing_msg, CONF_TYPE_STRING, 0, 0, 0, NULL},
341 
342     {"slave", &slave_mode, CONF_TYPE_FLAG,CONF_GLOBAL , 0, 1, NULL},
343     {"idle", &player_idle_mode, CONF_TYPE_FLAG,CONF_GLOBAL , 0, 1, NULL},
344     {"noidle", &player_idle_mode, CONF_TYPE_FLAG,CONF_GLOBAL , 1, 0, NULL},
345     {"use-stdin", "-use-stdin has been renamed to -noconsolecontrols, use that instead.", CONF_TYPE_PRINT, 0, 0, 0, NULL},
346     {"key-fifo-size", &key_fifo_size, CONF_TYPE_INT, CONF_RANGE, 2, 65000, NULL},
347     {"noconsolecontrols", &noconsolecontrols, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
348     {"consolecontrols", &noconsolecontrols, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
349     {"mouse-movements", &enable_mouse_movements, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
350     {"nomouse-movements", &enable_mouse_movements, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
351     {"doubleclick-time", &doubleclick_time, CONF_TYPE_INT, CONF_RANGE, 0, 1000, NULL},
352     {"pausing", &pausing_default, CONF_TYPE_INT, CONF_RANGE, 0, 4, NULL},
353 #ifdef CONFIG_TV
354     {"tvscan", tvscan_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
355 #else
356     {"tvscan", "MPlayer was compiled without TV interface support.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
357 #endif /* CONFIG_TV */
358 
359     {"list-properties", &list_properties, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
360     {"identify", &mp_msg_levels[MSGT_IDENTIFY], CONF_TYPE_FLAG, CONF_GLOBAL, 0, MSGL_V, NULL},
361     {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
362     {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
363     {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
364 
365     {"vd", vd_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
366     {"progbar-align", &progbar_align, CONF_TYPE_INT, CONF_GLOBAL, 0, 100, NULL},
367     {NULL, NULL, 0, 0, 0, 0, NULL}
368 };
369 
370 #endif /* MPLAYER_CFG_MPLAYER_H */
371