Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
activate visualization when deactivating video during runtime
Browse files Browse the repository at this point in the history
however as a sideeffect, cycling visualizer name to "off" does no longer show the album art
christoph-heinrich committed Jun 4, 2022
1 parent a0cd87e commit 023c687
Showing 1 changed file with 14 additions and 26 deletions.
40 changes: 14 additions & 26 deletions visualizer.lua
Original file line number Diff line number Diff line change
@@ -136,7 +136,7 @@ options.read_options(opts)
opts.height = math.min(12, math.max(4, opts.height))
opts.height = math.floor(opts.height)

local function get_visualizer(name, quality, vtrack, albumart)
local function get_visualizer(name, quality, vtrack)
local w, h, fps

if quality == "verylow" then
@@ -255,7 +255,7 @@ local function get_visualizer(name, quality, vtrack, albumart)
"mode = p2p," ..
"format = rgb0 [vo]"
elseif name == "off" then
if vtrack > 0 or albumart > 0 then
if vtrack ~= nil then
return "[aid1] asetpts=PTS [ao]; [vid1] setpts=PTS [vo]"
else
return "[aid1] asetpts=PTS [ao];" ..
@@ -271,19 +271,19 @@ local function get_visualizer(name, quality, vtrack, albumart)
return ""
end

local function select_visualizer(atrack, vtrack, albumart)
local function select_visualizer(vtrack)
if opts.mode == "off" then
return ""
elseif opts.mode == "force" then
return get_visualizer(opts.name, opts.quality, vtrack, albumart)
return get_visualizer(opts.name, opts.quality, vtrack)
elseif opts.mode == "noalbumart" then
if albumart == 0 and vtrack == 0 then
return get_visualizer(opts.name, opts.quality, vtrack, albumart)
if vtrack == nil then
return get_visualizer(opts.name, opts.quality, vtrack)
end
return ""
elseif opts.mode == "novideo" then
if vtrack == 0 then
return get_visualizer(opts.name, opts.quality, vtrack, albumart)
if vtrack == nil or vtrack.albumart then
return get_visualizer(opts.name, opts.quality, vtrack)
end
return ""
end
@@ -294,30 +294,18 @@ end

local function visualizer_hook()
local count = mp.get_property_number("track-list/count", -1)
local atrack = 0
local vtrack = 0
local albumart = 0
msg.info("visualizer_hook " .. count)
if count <= 0 then
return
end
for tr = 0,count-1 do
if mp.get_property("track-list/" .. tr .. "/type") == "audio" then
atrack = atrack + 1
else
if mp.get_property("track-list/" .. tr .. "/type") == "video" then
if mp.get_property("track-list/" .. tr .. "/albumart") == "yes" then
albumart = 1
else
vtrack = vtrack + 1
end
end
end
end

mp.set_property("options/lavfi-complex", select_visualizer(atrack, vtrack, albumart))
local atrack = mp.get_property_native("current-tracks/audio")
local vtrack = mp.get_property_native("current-tracks/video")

mp.set_property("options/lavfi-complex", select_visualizer(vtrack))
end

mp.add_hook("on_preloaded", 50, visualizer_hook)
mp.observe_property("current-tracks/video", "native", function(name, value) visualizer_hook() end )

local function cycle_visualizer()
local i, index = 1

0 comments on commit 023c687

Please sign in to comment.