mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-10 19:23:03 +03:00
feat(mpv): add mpv-history
This commit is contained in:
parent
cf592a86e2
commit
d093e755fd
1 changed files with 67 additions and 0 deletions
67
.config/mpv/scripts/mpv-history.lua
Normal file
67
.config/mpv/scripts/mpv-history.lua
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
local utils = require 'mp.utils'
|
||||
local config_folder = '/logs-sync/mpv';
|
||||
local log = os.getenv('HOME')..config_folder..'/'..os.date('%Y-%m-%d')..'.log';
|
||||
|
||||
local path;
|
||||
|
||||
mp.register_event('file-loaded', function ()
|
||||
local logfile = io.open(log, 'a+');
|
||||
path = mp.get_property('path');
|
||||
local data = {
|
||||
['kind'] = 'loaded',
|
||||
['time'] = os.date('!%Y-%m-%dT%TZ'),
|
||||
['path'] = path,
|
||||
['filename'] = mp.get_property('filename'),
|
||||
['length'] = mp.get_property('duration'),
|
||||
};
|
||||
logfile:write(utils.format_json(data)..'\n');
|
||||
logfile:close();
|
||||
end)
|
||||
|
||||
mp.observe_property('pause', 'bool', function (name, value)
|
||||
if (not path) then
|
||||
return;
|
||||
end
|
||||
local data = {
|
||||
['kind'] = value and 'pause' or 'play',
|
||||
['time'] = os.date('!%Y-%m-%dT%TZ'),
|
||||
['path'] = path,
|
||||
['pos'] = mp.get_property('time-pos'),
|
||||
}
|
||||
local logfile = io.open(log, 'a+');
|
||||
logfile:write(utils.format_json(data)..'\n');
|
||||
logfile:close();
|
||||
end)
|
||||
|
||||
mp.register_event('seek', function ()
|
||||
if (mp.get_property_bool('pause')) then
|
||||
return;
|
||||
end
|
||||
local data = {
|
||||
['kind'] = 'seek',
|
||||
['time'] = os.date('!%Y-%m-%dT%TZ'),
|
||||
['path'] = path,
|
||||
['pos'] = mp.get_property('time-pos'),
|
||||
}
|
||||
local logfile = io.open(log, 'a+');
|
||||
logfile:write(utils.format_json(data)..'\n');
|
||||
logfile:close();
|
||||
end)
|
||||
|
||||
mp.register_event('end-file', function (data)
|
||||
local kind;
|
||||
if (data['reason'] == 'eof') then
|
||||
kind = 'end';
|
||||
elseif (data['reason'] == 'quit' or data['reason'] == 'stop') then
|
||||
kind = 'stop';
|
||||
end;
|
||||
local data = {
|
||||
['kind'] = kind,
|
||||
['time'] = os.date('!%Y-%m-%dT%TZ'),
|
||||
['path'] = path,
|
||||
['pos'] = mp.get_property('time-pos'),
|
||||
}
|
||||
local logfile = io.open(log, 'a+');
|
||||
logfile:write(utils.format_json(data)..'\n');
|
||||
logfile:close();
|
||||
end)
|
||||
Loading…
Add table
Reference in a new issue