From 13d354e46d27fd0c433880839abcf9096dbcbc2f Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 5 Aug 2020 22:37:47 +0200 Subject: 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. --- options/options.h | 1 + 1 file changed, 1 insertion(+) (limited to 'options/options.h') diff --git a/options/options.h b/options/options.h index 45d0747358..ea5ece65a1 100644 --- a/options/options.h +++ b/options/options.h @@ -144,6 +144,7 @@ typedef struct MPOpts { char **lua_ytdl_raw_options; int lua_load_stats; int lua_load_console; + int lua_load_auto_profiles; int auto_load_scripts; -- cgit v1.2.3