summaryrefslogtreecommitdiff
path: root/mpv_scripts/syncpos.lua
blob: 57f002e161d13007bae07a7b001b5b6517e9a5f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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)