From 613b7f467939977105c31b753f5f1221ba031da8 Mon Sep 17 00:00:00 2001 From: kat witch Date: Sat, 29 May 2021 02:02:05 +0100 Subject: [PATCH] users/kat/media: mpv bindings + script --- nix/sources.json | 6 +- users/kat/media/mpv.nix | 137 +++++++++++++++++++++++++++++----------- 2 files changed, 104 insertions(+), 39 deletions(-) diff --git a/nix/sources.json b/nix/sources.json index c2229e69..c74df6fe 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -17,10 +17,10 @@ "homepage": null, "owner": "arcnmx", "repo": "nixexprs", - "rev": "d1628d117c670a853bb1f7a0aa407fe77208e08d", - "sha256": "19h87d22ybni9hc1qqvz10hk6gwmn4fzk4693fh9qk1ccwddjm0w", + "rev": "86bc4f0cd3afd8cfbbfb46e4813dc000aab0f352", + "sha256": "1lssa6a7znq4bxaln38fjfs0wyfrpwjg70z0w46zfqgf3h2fssph", "type": "tarball", - "url": "https://github.com/arcnmx/nixexprs/archive/d1628d117c670a853bb1f7a0aa407fe77208e08d.tar.gz", + "url": "https://github.com/arcnmx/nixexprs/archive/86bc4f0cd3afd8cfbbfb46e4813dc000aab0f352.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "ci": { diff --git a/users/kat/media/mpv.nix b/users/kat/media/mpv.nix index cc4457e4..114186d4 100644 --- a/users/kat/media/mpv.nix +++ b/users/kat/media/mpv.nix @@ -3,42 +3,107 @@ { programs.mpv = { enable = true; - scripts = [ pkgs.mpvScripts.sponsorblock ]; + scripts = [ pkgs.mpvScripts.sponsorblock pkgs.mpvScripts.paused ]; bindings = let - unbind = "keyup"; in - { - "WHEEL_UP" = "add volume 2"; - "WHEEL_DOWN" = "add volume -2"; - "ctrl+r" = "loadfile \${path}"; + vim = { + "l" = "seek 5"; + "h" = "seek -5"; + "k" = "seek 60"; + "j" = "seek -60"; + "Ctrl+l" = "seek 1 exact"; + "Ctrl+h" = "seek -1 exact"; + "Ctrl+L" = "sub-seek 1"; + "Ctrl+H" = "sub-seek -1"; + "Ctrl+k" = "add chapter 1"; + "Ctrl+j" = "add chapter -1"; + "Ctrl+K" = "playlist-next"; + "Ctrl+J" = "playlist-prev"; + "Alt+h" = "frame-back-step"; + "Alt+l" = "frame-step"; + "`" = "cycle mute"; + "MBTN_RIGHT" = "cycle pause"; + "w" = "screenshot"; + "W" = "screenshot video"; + "Ctrl+w" = "screenshot window"; + "Ctrl+W" = "screenshot each-frame"; + "o" = "show-progress"; + "O" = "script-message show_osc_dur 5"; + "F1" = "cycle sub"; + "F2" = "cycle audio"; + "Ctrl+p" = "cycle video"; + "L" = "add volume 2"; + "H" = "add volume -2"; + "Alt+H" = "add audio-delay -0.100"; + "Alt+L" = "add audio-delay 0.100"; + "1" = "set volume 10"; + "2" = "set volume 20"; + "3" = "set volume 30"; + "4" = "set volume 40"; + "5" = "set volume 50"; + "6" = "set volume 60"; + "7" = "set volume 70"; + "8" = "set volume 80"; + "9" = "set volume 90"; + ")" = "set volume 150"; + "0" = "set volume 100"; + "m" = "cycle mute"; + "Ctrl+r" = "loadfile \${path}"; + "Ctrl+R" = "video-reload"; + "d" = "drop-buffers"; + "Ctrl+d" = "quit"; + }; + other = { + "RIGHT" = vim."l"; + "LEFT" = vim."h"; + "UP" = vim."j"; + "DOWN" = vim."k"; + "Ctrl+0" = "set speed 1.0"; + "Ctrl+=" = "multiply speed 1.1"; + "Ctrl+-" = "multiply speed 1/1.1"; + "Ctrl+RIGHT" = vim."Ctrl+l"; + "Ctrl+LEFT" = vim."Ctrl+h"; + "Ctrl+Shift+LEFT" = vim."Ctrl+H"; + "Ctrl+Shift+RIGHT" = vim."Ctrl+L"; + "Ctrl+UP" = vim."Ctrl+k"; + "Ctrl+DOWN" = vim."Ctrl+j"; + "Ctrl+Shift+UP" = vim."Ctrl+K"; + "Ctrl+Shift+DOWN" = vim."Ctrl+J"; + "Alt+LEFT" = vim."Alt+h"; + "Alt+RIGHT" = vim."Alt+l"; + "SPACE" = vim."MBTN_RIGHT"; + "m" = vim."`"; + "WHEEL_UP" = vim."L"; + "WHEEL_DOWN" = vim."H"; + }; in vim // other; + config = { + no-input-default-bindings = ""; + profile = "gpu-hq"; + gpu-context = "wayland"; + vo = "gpu"; + volume-max = 200; + keep-open = true; + opengl-waitvsync = true; + hwdec = "auto"; + demuxer-max-bytes = "2000MiB"; + demuxer-max-back-bytes = "250MiB"; + osd-scale-by-window = false; + osd-bar-h = 2.5; # 3.125 default + osd-border-size = 2; # font border pixels, default 3 + term-osd-bar = true; + script-opts = lib.concatStringsSep "," + (lib.mapAttrsToList (k: v: "${k}=${toString v}") { + osc-layout = "slimbox"; + osc-vidscale = "no"; + osc-deadzonesize = 0.75; + osc-minmousemove = 4; + osc-hidetimeout = 2000; + osc-valign = 0.9; + osc-timems = "yes"; + osc-seekbarstyle = "knob"; + osc-seekbarkeyframes = "no"; + osc-seekrangestyle = "slider"; + }); + }; }; - config = { - profile = "gpu-hq"; - gpu-context = "wayland"; - vo = "gpu"; - volume-max = 200; - keep-open = true; - opengl-waitvsync = true; - hwdec = "auto"; - demuxer-max-bytes = "2000MiB"; - demuxer-max-back-bytes = "250MiB"; - osd-scale-by-window = false; - osd-bar-h = 2.5; # 3.125 default - osd-border-size = 2; # font border pixels, default 3 - term-osd-bar = true; - script-opts = lib.concatStringsSep "," - (lib.mapAttrsToList (k: v: "${k}=${toString v}") { - osc-layout = "slimbox"; - osc-vidscale = "no"; - osc-deadzonesize = 0.75; - osc-minmousemove = 4; - osc-hidetimeout = 2000; - osc-valign = 0.9; - osc-timems = "yes"; - osc-seekbarstyle = "knob"; - osc-seekbarkeyframes = "no"; - osc-seekrangestyle = "slider"; - }); - }; - }; -} + }