diff options
author | wm4 <wm4@nowhere> | 2020-08-05 22:37:47 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-08-05 22:37:47 +0200 |
commit | 13d354e46d27fd0c433880839abcf9096dbcbc2f (patch) | |
tree | 8b410c67db9a1ee0573892386d442019b54122da /options/options.c | |
parent | f457f3839a88447bdef2ecb3ea8b8e37864f9b93 (diff) | |
download | mpv-13d354e46d27fd0c433880839abcf9096dbcbc2f.tar.bz2 mpv-13d354e46d27fd0c433880839abcf9096dbcbc2f.tar.xz |
auto_profiles: add this script
This is taken from a somewhat older proof-of-concept script. The basic
idea, and most of the implementation, is still the same. The way the
profiles are actually defined changed.
I still feel bad about this being a Lua script, and running user
expressions as Lua code in a vaguely defined environment, but I guess as
far as balance of effort/maintenance/results goes, this is fine.
It's a bit bloated (the Lua scripting state is at least 150KB or so in
total), so in order to enable this by default, I decided it should
unload itself by default if no auto-profiles are used. (And currently,
it does not actually rescan the profile list if a new config file is
loaded some time later, so the script would do nothing anyway if no auto
profiles were defined.)
This still requires defining inverse profiles for "unapplying" a
profile. Also this is still somewhat racy. Both will probably be
alleviated to some degree in the future.
Diffstat (limited to 'options/options.c')
-rw-r--r-- | options/options.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/options/options.c b/options/options.c index 4467c106ba..63c99053a8 100644 --- a/options/options.c +++ b/options/options.c @@ -426,6 +426,9 @@ static const m_option_t mp_opts[] = { .flags = UPDATE_BUILTIN_SCRIPTS}, {"load-osd-console", OPT_FLAG(lua_load_console), .flags = UPDATE_BUILTIN_SCRIPTS}, + {"load-auto-profiles", + OPT_CHOICE(lua_load_auto_profiles, {"no", 0}, {"yes", 1}, {"auto", -1}), + .flags = UPDATE_BUILTIN_SCRIPTS}, #endif // ------------------------- stream options -------------------- @@ -944,6 +947,7 @@ static const struct MPOpts mp_default_opts = { .lua_ytdl_raw_options = NULL, .lua_load_stats = 1, .lua_load_console = 1, + .lua_load_auto_profiles = -1, #endif .auto_load_scripts = 1, .loop_times = 1, |