summaryrefslogtreecommitdiff
path: root/mac/.config/mpv/scripts/blackout.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.config/mpv/scripts/blackout.lua')
-rw-r--r--mac/.config/mpv/scripts/blackout.lua73
1 files changed, 73 insertions, 0 deletions
diff --git a/mac/.config/mpv/scripts/blackout.lua b/mac/.config/mpv/scripts/blackout.lua
new file mode 100644
index 0000000..419f34d
--- /dev/null
+++ b/mac/.config/mpv/scripts/blackout.lua
@@ -0,0 +1,73 @@
+--[[
+ blackout / by sibwaf / https://github.com/sibwaf/mpv-scripts
+
+ Turns the screen completely black and pauses on a button press ([b] by default)
+ so you can hide whatever you are watching from other people fast enough.
+ Unpause or press the same button to go back.
+
+ May not work if your VO driver doesn't support changing contrast.
+
+ MIT license - do whatever you want, but I'm not responsible for any possible problems.
+ Please keep the URL to the original repository. Thanks!
+]]
+
+--[[
+ Configuration:
+
+ # property
+
+ Theoratically, can be any of: "brightness", "contrast", "saturation", "gamma", "hue".
+ In practice, "contrast" seems to work best. Setting it to "saturation" or "hue"
+ is pretty much pointless as you will get gray-scale or a colored negative video.
+]]
+
+local property = "contrast"
+
+----------
+
+local watch_later_options_default = mp.get_property_native("watch-later-options")
+local watch_later_options_blackout = {}
+
+for _, option in pairs(watch_later_options_default) do
+ if option == property then
+ -- remove
+ elseif option == "sid" then
+ -- remove
+ else
+ table.insert(watch_later_options_blackout, option)
+ end
+end
+
+local saved_value = nil
+local saved_sid = nil
+
+function toggle_blackout()
+ if saved_value then
+ mp.set_property(property, saved_value)
+ saved_value = nil
+
+ mp.set_property("sid", saved_sid)
+ saved_sid = nil
+
+ mp.set_property_native("watch-later-options", watch_later_options_default)
+ else
+ mp.set_property("pause", "yes")
+
+ saved_value = mp.get_property(property)
+ mp.set_property(property, -100)
+
+ saved_sid = mp.get_property("sid")
+ mp.set_property("sid", "no")
+
+ mp.set_property_native("watch-later-options", watch_later_options_blackout)
+ end
+end
+
+function on_pause_change(name, value)
+ if not value and saved_value then
+ toggle_blackout()
+ end
+end
+
+mp.add_key_binding("b", "blackout", toggle_blackout)
+mp.observe_property("pause", "bool", on_pause_change)