diff --git a/cfg-common-opts.h b/cfg-common-opts.h index 5e3e4d0fa6..a8426656bb 100644 --- a/cfg-common-opts.h +++ b/cfg-common-opts.h @@ -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}, diff --git a/cfg-common.h b/cfg-common.h index 7fb13bf0b9..ddac0acdac 100644 --- a/cfg-common.h +++ b/cfg-common.h @@ -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 */ diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 8f6d9250d9..20276742e3 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.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}, diff --git a/m_option.h b/m_option.h index cf7a1d495d..c0f9b55263 100644 --- a/m_option.h +++ b/m_option.h @@ -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 */