-- gallery-dl_hook.lua -- -- load online image galleries as playlists using gallery-dl -- https://github.com/mikf/gallery-dl -- -- to use, prepend the gallery url with: gallery-dl:// -- e.g. -- `mpv gallery-dl://https://imgur.com/....` local mp = require 'mp' local utils = require 'mp.utils' local msg = require 'mp.msg' local function exec(args) local ret = utils.subprocess({ args = args }) return ret.status, ret.stdout, ret end mp.add_hook("on_load", 15, function() local fn = mp.get_property("stream-open-filename", "") if (fn:find("gdl://") ~= 1) then msg.debug("not a gdl:// url: " .. fn) return end local url = string.gsub(url, "gdl://", "") local es, urls, result = exec({ "gallery-dl", "-g", url }) if (es < 0) or (urls == nil) or (urls == "") then msg.error("failed to get album list.") end mp.commandv("loadlist", "memory://" .. urls) end)