Updated mpv, and the third-party OSC broke.
Fix
In the OSC script, change
utils.shared_script_property_set("osc-visibility", mode)
to
mp.set_property_native("user-data/osc/visibility", mode)
Ref:
Reddit - OSC not working after v0.37.0
Notes On What Happened
I use this on-screen controller: Github - mpv-osc-modern-f. It looks nicer than mpv’s built-in one.
But today the OSC broke and stopped showing up entirely.
Switching back to mpv’s built-in OSC worked fine.
I checked my local config and it didn’t look like I accidentally changed anything.
Searching online didn’t help either.
Later it occurred to me that it might be caused by a software upgrade.
sudo pacman -U https://archive.archlinux.org/packages/m/mpv/mpv-1%3A0.37.0-3-x86_64.pkg.tar.zstAfter downgrading mpv to v0.37.0-3, the OSC displayed normally again.
So it really is something in versions after v0.38.0.
I searched again and found this post: Reddit - OSC not working after v0.37.0.
The solution is in the comments:
Comment
byu/Nisheshg5 from discussion
inmpv
I tried it: in modernf.lua, change
utils.shared_script_property_set("osc-visibility", mode)
to
mp.set_property_native("user-data/osc/visibility", mode)
and it worked.
Also saw someone mention the same issue on GitHub:
GitHub - script has error in mpv 0.38 and above; shared script property not supported anymore #51