From 245e5b844177e9ad9a9c07eff5efab7c3fccdebc Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 21 Dec 2013 23:11:12 +0100 Subject: msg: remove global state --- options/options.c | 13 ++++++------- options/options.h | 4 ++++ options/parse_commandline.c | 13 +++++++++---- options/parse_commandline.h | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) (limited to 'options') diff --git a/options/options.c b/options/options.c index bd64669079..85b7a40cbe 100644 --- a/options/options.c +++ b/options/options.c @@ -215,10 +215,8 @@ extern const m_option_t ad_lavc_decode_opts_conf[]; extern const m_option_t mp_input_opts[]; const m_option_t mp_opts[] = { - // handled in command line pre-parser (parser-mpcmd.c) + // handled in command line pre-parser (parse_commandline.c) {"v", NULL, CONF_TYPE_STORE, CONF_GLOBAL | CONF_NOCFG, 0, 0, NULL}, - - // handled in command line parser (parser-mpcmd.c) {"playlist", NULL, CONF_TYPE_STRING, CONF_NOCFG | M_OPT_MIN, 1, 0, NULL}, {"{", NULL, CONF_TYPE_STORE, CONF_NOCFG, 0, 0, NULL}, {"}", NULL, CONF_TYPE_STORE, CONF_NOCFG, 0, 0, NULL}, @@ -236,11 +234,12 @@ const m_option_t mp_opts[] = { // ------------------------- common options -------------------- OPT_FLAG("quiet", quiet, CONF_GLOBAL), - {"really-quiet", &verbose, CONF_TYPE_STORE, CONF_GLOBAL|CONF_PRE_PARSE, 0, -10, NULL}, + OPT_FLAG_STORE("really-quiet", verbose, CONF_GLOBAL | CONF_PRE_PARSE, -10), OPT_GENERAL(char*, "msglevel", msglevels, CONF_GLOBAL|CONF_PRE_PARSE, .type = &m_option_type_msglevels), - {"msgcolor", &mp_msg_color, CONF_TYPE_FLAG, CONF_GLOBAL | CONF_PRE_PARSE, 0, 1, NULL}, - {"msgmodule", &mp_msg_module, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL}, + OPT_FLAG("msgcolor", msg_color, CONF_GLOBAL | CONF_PRE_PARSE), + OPT_FLAG("msgmodule", msg_module, CONF_GLOBAL), + OPT_FLAG("identify", msg_identify, CONF_GLOBAL), #if HAVE_PRIORITY {"priority", &proc_priority, CONF_TYPE_STRING, 0, 0, 0, NULL}, #endif @@ -628,7 +627,6 @@ const m_option_t mp_opts[] = { {"", (void *) mp_input_opts, CONF_TYPE_SUBCONFIG}, OPT_FLAG("list-properties", list_properties, CONF_GLOBAL), - {"identify", &mp_smode, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL}, {"help", (void *) mp_help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL}, {"h", (void *) mp_help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL}, {"version", (void *)print_version_opt, CONF_TYPE_PRINT_FUNC, CONF_NOCFG|CONF_GLOBAL|M_OPT_PRE_PARSE}, @@ -659,6 +657,7 @@ const m_option_t mp_opts[] = { }; const struct MPOpts mp_default_opts = { + .msg_color = 1, .reset_options = (char **)(const char *[]){"pause", NULL}, .audio_driver_list = NULL, .audio_decoders = "-spdif:*", // never select spdif by default diff --git a/options/options.h b/options/options.h index ae648a87c0..e694216fa8 100644 --- a/options/options.h +++ b/options/options.h @@ -45,6 +45,10 @@ typedef struct mp_vo_opts { typedef struct MPOpts { char *msglevels; + int verbose; + int msg_identify; + int msg_color; + int msg_module; char **reset_options; char **lua_files; diff --git a/options/parse_commandline.c b/options/parse_commandline.c index 7c4eb3cce7..11ef85a871 100644 --- a/options/parse_commandline.c +++ b/options/parse_commandline.c @@ -25,9 +25,11 @@ #include #include +#include "common/global.h" #include "common/msg.h" #include "m_option.h" #include "m_config.h" +#include "options.h" #include "common/playlist.h" #include "common/playlist_parser.h" #include "parse_commandline.h" @@ -263,10 +265,13 @@ err_out: * command line parsing), and --really-quiet suppresses messages printed * during normal options parsing. */ -void m_config_preparse_command_line(m_config_t *config, int argc, char **argv) +void m_config_preparse_command_line(m_config_t *config, struct mpv_global *global, + int argc, char **argv) { + struct MPOpts *opts = global->opts; + // Hack to shut up parser error messages - mp_msg_mute = true; + mp_msg_mute(global, true); struct parse_state p = {config, argc, argv}; while (split_opt_silent(&p) == 0) { @@ -276,9 +281,9 @@ void m_config_preparse_command_line(m_config_t *config, int argc, char **argv) int flags = M_SETOPT_FROM_CMDLINE | M_SETOPT_PRE_PARSE_ONLY; m_config_set_option_ext(config, p.arg, p.param, flags); if (bstrcmp0(p.arg, "v") == 0) - verbose++; + opts->verbose++; } } - mp_msg_mute = false; + mp_msg_mute(global, false); } diff --git a/options/parse_commandline.h b/options/parse_commandline.h index ab048a0af4..39512ca51a 100644 --- a/options/parse_commandline.h +++ b/options/parse_commandline.h @@ -28,7 +28,7 @@ struct mpv_global; int m_config_parse_mp_command_line(m_config_t *config, struct playlist *files, struct mpv_global *global, int argc, char **argv); -void m_config_preparse_command_line(struct m_config *config, +void m_config_preparse_command_line(m_config_t *config, struct mpv_global *global, int argc, char **argv); #endif /* MPLAYER_PARSER_MPCMD_H */ -- cgit v1.2.3