1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-19 13:21:13 +00:00
mpv/TOOLS/lua
Guido Cella de0849404b scripting: don't observe properties with type nil
mp.observe_property('foo', nil, ...) calls the handler at least 2 times
on each playlist change even when the property doesn't change. This is
dangerous because if you haven't read observe_property's documentation
in a long time this is easy to forget, and you can end up using it for
handlers that are computationally expensive or that cause unintended
side effects.

Therefore, this commit discourages its use more explicitly in the
documentation, and replaces its usages in scripts.

For console.lua, observing focused with type nil leads to calling
mp.osd_message('') when changing file while playing in the terminal with
the console disabled. I don't notice issues from this, but it's safer to
avoid it.

For playlist and track-list this doesn't really matter since they
trigger multiple changes on each new file anyway, but changing it can
avoid encouraging people to imitate the code.

One usage of none in stats.lua is kept because according to b9084dfd47
it is a hack to replicate the deprecated tick event.
2024-01-20 16:09:34 +00:00
..
acompressor.lua various: fix typos 2022-04-25 09:07:18 -04:00
ao-null-reload.lua
audio-hotplug-test.lua
autocrop.lua TOOLS/autocrop.lua: disable hwdec when needed instead using -copy one 2023-10-18 15:21:34 +00:00
autodeint.lua
autoload.lua TOOLS/lua/autoload: skip loading when playback is aborted 2024-01-20 16:09:12 +00:00
command-test.lua command: extend subprocess command stdin, change behavior 2020-08-16 02:54:44 +02:00
cycle-deinterlace-pullup.lua
nan-test.lua
observe-all.lua
ontop-playback.lua
osd-test.lua command: extend osd-overlay command with bounds reporting 2020-03-06 18:20:11 +01:00
pause-when-minimize.lua
README.md
skip-logo.lua scripting: don't observe properties with type nil 2024-01-20 16:09:34 +00:00
status-line.lua
test-hooks.lua client API: provide ways to finish property changes on file changes 2020-03-07 02:52:10 +01:00

mpv lua scripts

The lua scripts in this folder can be loaded on a one-time basis by adding the option

--script=/path/to/script.lua

to mpv's command line.

Where appropriate, they may also be placed in ~/.config/mpv/scripts/ from where they will be automatically loaded when mpv starts.

This is only a small selection of internally maintained scripts. Some of them are just for testing mpv internals, or serve as examples. An extensive user-edited list of 3rd party scripts is available here:

https://github.com/mpv-player/mpv/wiki/User-Scripts

(Anyone can add their own scripts to that list.)