summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-12-21 23:11:12 +0100
committerwm4 <wm4@nowhere>2013-12-21 23:11:12 +0100
commit245e5b844177e9ad9a9c07eff5efab7c3fccdebc (patch)
treeb70f214f8c3fc802d6d6edbf8395273c854ac0fd /options
parent678ce04b3f7b7af845f77981fd0056845afa37fe (diff)
downloadmpv-245e5b844177e9ad9a9c07eff5efab7c3fccdebc.tar.bz2
mpv-245e5b844177e9ad9a9c07eff5efab7c3fccdebc.tar.xz
msg: remove global state
Diffstat (limited to 'options')
-rw-r--r--options/options.c13
-rw-r--r--options/options.h4
-rw-r--r--options/parse_commandline.c13
-rw-r--r--options/parse_commandline.h2
4 files changed, 20 insertions, 12 deletions
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 <assert.h>
#include <stdbool.h>
+#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 */