diff options
author | wm4 <wm4@nowhere> | 2014-10-15 23:09:53 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-10-16 01:00:22 +0200 |
commit | 8e4fa5fcd15ecba6a046aa71650bbfc759856fa8 (patch) | |
tree | 5ee966a04f590cc2b1ac482c420f7c704faa17ec /input/cmd_list.h | |
parent | bc0ed904811b4e4a0fc3d6129ba92e2c786cbabf (diff) | |
download | mpv-8e4fa5fcd15ecba6a046aa71650bbfc759856fa8.tar.bz2 mpv-8e4fa5fcd15ecba6a046aa71650bbfc759856fa8.tar.xz |
command: add a mechanism to allow scripts to intercept file loads
A vague idea to get something similar what libquvi did.
Undocumented because it might change a lot, or even be removed. To give
an idea what it does, a Lua script could do the following:
-- type ID priority
mp.commandv("hook_add", "on_load", 0, 0)
mp.register_script_message("hook_run", function(param, param2)
-- param is "0", the user-chosen ID from the hook_add command
-- param2 is the magic value that has to be passed to finish
-- the hook
mp.resume_all()
-- do something, maybe set options that are reset on end:
mp.set_property("file-local-options/name", "value")
-- or change the URL that's being opened:
local url = mp.get_property("stream-open-filename")
mp.set_property("stream-open-filename", url .. ".png")
-- let the player (or the next script) continue
mp.commandv("hook_ack", param2)
end)
Diffstat (limited to 'input/cmd_list.h')
-rw-r--r-- | input/cmd_list.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/input/cmd_list.h b/input/cmd_list.h index b2b8e2a4d2..7d395cb329 100644 --- a/input/cmd_list.h +++ b/input/cmd_list.h @@ -97,6 +97,9 @@ enum mp_command_type { MP_CMD_WRITE_WATCH_LATER_CONFIG, + MP_CMD_HOOK_ADD, + MP_CMD_HOOK_ACK, + // Internal MP_CMD_COMMAND_LIST, // list of sub-commands in args[0].v.p }; |