Added track scrubbing.
authorTim Vaughan <timv@ughan.xyz>
Mon, 9 Dec 2019 11:04:58 +0000 (12:04 +0100)
committerTim Vaughan <timv@ughan.xyz>
Mon, 9 Dec 2019 11:04:58 +0000 (12:04 +0100)
emus.el

diff --git a/emus.el b/emus.el
index 04a8e73..898b403 100644 (file)
--- a/emus.el
+++ b/emus.el
   (interactive)
   (emus--play-adjacent-album t))
 
+(defun emus-jump (seconds)
+  "Jump forward in current track by SECONDS seconds."
+  (emus--with-library
+   (emus-send-cmd "jump" (format "%+ds" seconds))))
+
+(defun emus-jump-10s-forward ()
+  "Jump 10 seconds forward in current track."
+  (interactive)
+  (emus-jump 10))
+
+(defun emus-jump-10s-backward ()
+  "Jump 10 seconds backward in current track."
+  (interactive)
+  (emus-jump -10))
+
 (defun emus-display-status ()
   (interactive)
   (emus--with-library
 (defun emus-play-prev-status () (interactive) (emus-play-prev) (emus-display-status))
 (defun emus-play-next-album-status () (interactive) (emus-play-next-album) (emus-display-status))
 (defun emus-play-prev-album-status () (interactive) (emus-play-prev-album) (emus-display-status))
+(defun emus-jump-10s-forward-status () (interactive) (emus-jump-10s-forward) (emus-display-status))
+(defun emus-jump-10s-backward-status () (interactive) (emus-jump-10s-backward) (emus-display-status))
 (defun emus-centre-current-status () (interactive) (emus-centre-current) (emus-display-status))
 
 (defvar emus-browser-mode-map
     (define-key map (kbd "p") 'emus-play-prev-status)
     (define-key map (kbd "N") 'emus-play-next-album-status)
     (define-key map (kbd "P") 'emus-play-prev-album-status)
+    (define-key map (kbd ",") 'emus-jump-10s-backward-status)
+    (define-key map (kbd ".") 'emus-jump-10s-forward-status)
     (define-key map (kbd "c") 'emus-centre-current-status)
     (when (fboundp 'evil-define-key*)
       (evil-define-key* 'motion map
         (kbd "p") 'emus-play-prev-status
         (kbd "N") 'emus-play-next-album-status
         (kbd "P") 'emus-play-prev-album-status
+        (kbd ",") 'emus-jump-10s-backward-status
+        (kbd ".") 'emus-jump-10s-forward-status
         (kbd "c") 'emus-centre-current-status))
     map)
   "Keymap for emus.")