emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 3fa424c: Add MPC play/pause command


From: Mark Oteiza
Subject: [Emacs-diffs] master 3fa424c: Add MPC play/pause command
Date: Wed, 14 Oct 2015 02:53:57 +0000

branch: master
commit 3fa424ca48f4f48a40a514153726758b6ed47892
Author: Mark Oteiza <address@hidden>
Commit: Mark Oteiza <address@hidden>

    Add MPC play/pause command
    
    * lisp/mpc.el (mpc-toggle-play): New command.
    (mpc-mode-map): Bind it to "s".
    (mpc-mode-menu): Add corresponding menu item.
---
 lisp/mpc.el |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/lisp/mpc.el b/lisp/mpc.el
index 7d684d2..d1524e7 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -1109,6 +1109,7 @@ If PLAYLIST is t or nil or missing, use the main 
playlist."
     ;; is applied elsewhere :-(
     ;; (define-key map [(double mouse-2)] 'mpc-play-at-point)
     (define-key map "p" 'mpc-pause)
+    (define-key map "s" 'mpc-toggle-play)
     (define-key map ">" 'mpc-next)
     (define-key map "<" 'mpc-prev)
     (define-key map "g" nil)
@@ -1117,6 +1118,7 @@ If PLAYLIST is t or nil or missing, use the main 
playlist."
 (easy-menu-define mpc-mode-menu mpc-mode-map
   "Menu for MPC.el."
   '("MPC.el"
+    ["Play/Pause" mpc-toggle-play]
     ["Next track" mpc-next]
     ["Previous track" mpc-prev]
     ["Add new browser" mpc-tagbrowser]
@@ -2350,6 +2352,16 @@ This is used so that they can be compared with `eq', 
which is needed for
   (interactive)
   (mpc-cmd-pause "0"))
 
+(defun mpc-toggle-play ()
+  "Toggles between play and pause.
+If stopped, start playback."
+  (interactive)
+  (if (member (cdr (assq 'state (mpc-cmd-status))) '("stop"))
+      (mpc-cmd-play)
+    (if (member (cdr (assq 'state (mpc-cmd-status))) '("pause"))
+        (mpc-resume)
+      (mpc-pause))))
+
 (defun mpc-play ()
   "Start playing whatever is selected."
   (interactive)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]