summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Hurst <ark@mansus.space>2023-08-23 22:37:39 +0200
committerJulian Hurst <ark@mansus.space>2023-08-23 22:37:39 +0200
commitf0391bbbafeb21782bb07612cbd8906fb798f0d2 (patch)
tree386a78c4cb2e8662298d23af98e96830339b9907
parent51b9afea71fa527b5b87657cb567d570c7bae393 (diff)
downloadmediasync-f0391bbbafeb21782bb07612cbd8906fb798f0d2.tar.gz
Add mpv script to sync video position (X to save, C to get and seek)
-rw-r--r--mpv_scripts/syncpos.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/mpv_scripts/syncpos.lua b/mpv_scripts/syncpos.lua
new file mode 100644
index 0000000..57f002e
--- /dev/null
+++ b/mpv_scripts/syncpos.lua
@@ -0,0 +1,45 @@
+-- needs lua5.1-socket
+
+function savepos()
+ local name = mp.get_property("filename")
+ local path = mp.get_property("path")
+ local fn = mp.get_property("stream-open-filename")
+ local tpos = mp.get_property("time-pos")
+ print(name)
+ print(tpos)
+ print(path)
+ print(fn)
+ local host, port = "127.0.0.1", 6789
+ local socket = require("socket")
+ local tcp = assert(socket.tcp())
+ tcp:connect(host, port)
+ local data = "save \"" .. name .. "\" " .. tpos .. "\n"
+ print("sending: " .. data)
+ tcp:send(data)
+ tcp:close()
+end
+
+function getpos()
+ local name = mp.get_property("filename")
+ local tpos = mp.get_property("time-pos")
+ print(name)
+ print(tpos)
+ local host, port = "127.0.0.1", 6789
+ local socket = require("socket")
+ local tcp = assert(socket.tcp())
+ tcp:connect(host, port)
+ local data = "get \"" .. name .. "\"\n"
+ print("sending: " .. data)
+ local newpos = ""
+ tcp:send(data)
+ local newpos = tcp:receive("*l")
+ tcp:close()
+ print(newpos)
+ --print(s)
+ --print(status)
+ --print(partial)
+ mp.set_property("time-pos", newpos)
+end
+
+mp.add_key_binding("X", "savepos", savepos)
+mp.add_key_binding("C", "getpos", getpos)