mirror of
https://github.com/mpv-player/mpv
synced 2025-03-11 08:37:59 +00:00
Modify option helper macros
Give them a OPT_ prefix, move them to m_option.h, move the "flags" parameter to third position (so all start with option name, field name, flags) and use "&m_option_type_x" in them instead of the indirect #define "CONF_TYPE_X".
This commit is contained in:
parent
70e0372a51
commit
f8934a5f12
@ -115,10 +115,10 @@
|
||||
{"loadidx", &index_file_load, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
||||
|
||||
// select audio/video/subtitle stream
|
||||
INTRANGE("aid", audio_id, 0, 8190, 0),
|
||||
INTRANGE("vid", video_id, 0, 8190, 0),
|
||||
INTRANGE("sid", sub_id, 0, 8190, 0),
|
||||
FLAG_CONSTANTS("novideo", video_id, -1, -2, 0),
|
||||
OPT_INTRANGE("aid", audio_id, 0, 0, 8190),
|
||||
OPT_INTRANGE("vid", video_id, 0, 0, 8190),
|
||||
OPT_INTRANGE("sid", sub_id, 0, 0, 8190),
|
||||
OPT_FLAG_CONSTANTS("novideo", video_id, 0, -1, -2),
|
||||
|
||||
{ "hr-mp3-seek", &hr_mp3_seek, CONF_TYPE_FLAG, 0, 0, 1, NULL },
|
||||
{ "nohr-mp3-seek", &hr_mp3_seek, CONF_TYPE_FLAG, 0, 1, 0, NULL},
|
||||
@ -175,7 +175,7 @@
|
||||
{"srate", &force_srate, CONF_TYPE_INT, CONF_RANGE, 1000, 8*48000, NULL},
|
||||
{"channels", &audio_output_channels, CONF_TYPE_INT, CONF_RANGE, 1, 6, NULL},
|
||||
{"format", &audio_output_format, CONF_TYPE_AFMT, 0, 0, 0, NULL},
|
||||
FLOATRANGE("speed", playback_speed, 0.01, 100.0, 0),
|
||||
OPT_FLOATRANGE("speed", playback_speed, 0, 0.01, 100.0),
|
||||
|
||||
// set a-v distance
|
||||
{"delay", &audio_delay, CONF_TYPE_FLOAT, CONF_RANGE, -100.0, 100.0, NULL},
|
||||
@ -196,8 +196,8 @@
|
||||
#endif
|
||||
|
||||
// disable audio
|
||||
FLAG_CONSTANTS("sound", audio_id, -2, -1, 0),
|
||||
FLAG_CONSTANTS("nosound", audio_id, -1, -2, 0),
|
||||
OPT_FLAG_CONSTANTS("sound", audio_id, 0, -2, -1),
|
||||
OPT_FLAG_CONSTANTS("nosound", audio_id, 0, -1, -2),
|
||||
|
||||
{"af*", &af_cfg.list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
|
||||
{"af-adv", audio_filter_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
||||
|
@ -379,11 +379,4 @@ extern const m_option_t xvid_dec_opts[];
|
||||
|
||||
int dvd_parse_chapter_range(const m_option_t*, const char*);
|
||||
|
||||
#define FLAG_ON(optname, varname, flags) {optname, NULL, CONF_TYPE_FLAG, flags, 0, 1, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define FLAG_OFF(optname, varname, flags) {optname, NULL, CONF_TYPE_FLAG, flags, 1, 0, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define FLAG_CONSTANTS(optname, varname, offvalue, value, flags) {optname, NULL, CONF_TYPE_FLAG, flags, offvalue, value, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define STRINGLIST(optname, varname, flags) {optname, NULL, CONF_TYPE_STRING_LIST, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define INTRANGE(optname, varname, min, max, flags) {optname, NULL, CONF_TYPE_INT, (flags)|CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define FLOATRANGE(optname, varname, min, max, flags) {optname, NULL, CONF_TYPE_FLOAT, (flags)|CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
|
||||
#endif /* MPLAYER_CFG_COMMON_H */
|
||||
|
@ -93,12 +93,12 @@ const m_option_t mplayer_opts[]={
|
||||
//---------------------- libao/libvo options ------------------------
|
||||
{"o", "Option -o has been renamed to -vo (video-out), use -vo.\n",
|
||||
CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
||||
STRINGLIST("vo", video_driver_list, 0),
|
||||
STRINGLIST("ao", audio_driver_list, 0),
|
||||
FLAG_ON("fixed-vo", fixed_vo, CONF_GLOBAL),
|
||||
FLAG_OFF("nofixed-vo", fixed_vo, CONF_GLOBAL),
|
||||
FLAG_ON("ontop", vo_ontop, 0),
|
||||
FLAG_OFF("noontop", vo_ontop, 0),
|
||||
OPT_STRINGLIST("vo", video_driver_list, 0),
|
||||
OPT_STRINGLIST("ao", audio_driver_list, 0),
|
||||
OPT_FLAG_ON("fixed-vo", fixed_vo, CONF_GLOBAL),
|
||||
OPT_FLAG_OFF("nofixed-vo", fixed_vo, CONF_GLOBAL),
|
||||
OPT_FLAG_ON("ontop", vo_ontop, 0),
|
||||
OPT_FLAG_OFF("noontop", vo_ontop, 0),
|
||||
{"rootwin", &vo_rootwin, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
{"border", &vo_border, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
{"noborder", &vo_border, CONF_TYPE_FLAG, 0, 1, 0, NULL},
|
||||
@ -168,8 +168,8 @@ const m_option_t mplayer_opts[]={
|
||||
{"x", &opt_screen_size_x, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL},
|
||||
{"y", &opt_screen_size_y, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL},
|
||||
// set screen dimensions (when not detectable or virtual!=visible)
|
||||
INTRANGE("screenw", vo_screenwidth, 0, 4096, CONF_OLD),
|
||||
INTRANGE("screenh", vo_screenheight, 0, 4096, CONF_OLD),
|
||||
OPT_INTRANGE("screenw", vo_screenwidth, CONF_OLD, 0, 4096),
|
||||
OPT_INTRANGE("screenh", vo_screenheight, CONF_OLD, 0, 4096),
|
||||
// Geometry string
|
||||
{"geometry", &vo_geometry, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
||||
// set aspect ratio of monitor - useful for 16:9 TV-out
|
||||
@ -185,7 +185,7 @@ const m_option_t mplayer_opts[]={
|
||||
{"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},
|
||||
{"fsmode-dontuse", &vo_fsmode, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
|
||||
// set bpp (x11+vm, dga, fbdev, vesa, svga?)
|
||||
INTRANGE("bpp", vo_dbpp, 0, 32, 0),
|
||||
OPT_INTRANGE("bpp", vo_dbpp, 0, 0, 32),
|
||||
{"colorkey", &vo_colorkey, CONF_TYPE_INT, 0, 0, 0, NULL},
|
||||
{"nocolorkey", &vo_colorkey, CONF_TYPE_FLAG, 0, 0, 0x1000000, NULL},
|
||||
{"double", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
@ -317,13 +317,13 @@ const m_option_t mplayer_opts[]={
|
||||
{"guiwid", &guiWinID, CONF_TYPE_INT, 0, 0, 0, NULL},
|
||||
#endif
|
||||
|
||||
FLAG_CONSTANTS("noloop", loop_times, 0, -1, 0),
|
||||
INTRANGE("loop", loop_times, -1, 10000, 0),
|
||||
OPT_FLAG_CONSTANTS("noloop", loop_times, 0, 0, -1),
|
||||
OPT_INTRANGE("loop", loop_times, 0, -1, 10000),
|
||||
{"playlist", NULL, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
||||
|
||||
// a-v sync stuff:
|
||||
FLAG_ON("correct-pts", user_correct_pts, 0),
|
||||
FLAG_OFF("no-correct-pts", user_correct_pts, 0),
|
||||
OPT_FLAG_ON("correct-pts", user_correct_pts, 0),
|
||||
OPT_FLAG_OFF("no-correct-pts", user_correct_pts, 0),
|
||||
{"noautosync", &autosync, CONF_TYPE_FLAG, 0, 0, -1, NULL},
|
||||
{"autosync", &autosync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL},
|
||||
// {"dapsync", &dapsync, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
|
@ -498,4 +498,11 @@ m_option_free(const m_option_t* opt,void* dst) {
|
||||
|
||||
/*@}*/
|
||||
|
||||
#define OPT_FLAG_ON(optname, varname, flags) {optname, NULL, &m_option_type_flag, flags, 0, 1, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define OPT_FLAG_OFF(optname, varname, flags) {optname, NULL, &m_option_type_flag, flags, 1, 0, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define OPT_FLAG_CONSTANTS(optname, varname, flags, offvalue, value) {optname, NULL, &m_option_type_flag, flags, offvalue, value, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define OPT_STRINGLIST(optname, varname, flags) {optname, NULL, &m_option_type_string_list, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define OPT_INTRANGE(optname, varname, flags, min, max) {optname, NULL, &m_option_type_int, (flags)|CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
#define OPT_FLOATRANGE(optname, varname, flags, min, max) {optname, NULL, &m_option_type_float, (flags)|CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)}
|
||||
|
||||
#endif /* MPLAYER_M_OPTION_H */
|
||||
|
Loading…
Reference in New Issue
Block a user