Wrap the transport operations in a macro which ensures that the library
is loaded, and echoes the status afterwards.
(global-set-key [?\C-c ?m ?w] 'magit-wip-log)
(global-set-key [?\C-c ?m ?r] 'magit-list-repositories)
(global-set-key [?\C-c ?p ?p] 'mdw-mpc-play-or-pause)
(global-set-key [?\C-c ?m ?w] 'magit-wip-log)
(global-set-key [?\C-c ?m ?r] 'magit-list-repositories)
(global-set-key [?\C-c ?p ?p] 'mdw-mpc-play-or-pause)
- (global-set-key [?\C-c ?p ?s] 'mpc-stop)
- (global-set-key [?\C-c ?p ?<] 'mpc-prev)
- (global-set-key [?\C-c ?p ?>] 'mpc-next)
+ (global-set-key [?\C-c ?p ?s] 'mdw-mpc-stop)
+ (global-set-key [?\C-c ?p ?<] 'mdw-mpc-prev)
+ (global-set-key [?\C-c ?p ?>] 'mdw-mpc-next)
(global-set-key [?\C-c ?p ??] 'mdw-mpc-now-playing)
(global-set-key [?\C-c ?k] 'compile)
(global-set-key [?\C-x ?3] 'mdw-split-window-horizontally)
(global-set-key [?\C-c ?p ??] 'mdw-mpc-now-playing)
(global-set-key [?\C-c ?k] 'compile)
(global-set-key [?\C-x ?3] 'mdw-split-window-horizontally)
;;;--------------------------------------------------------------------------
;;; MPC configuration.
;;;--------------------------------------------------------------------------
;;; MPC configuration.
-(defun mdw-mpc-play-or-pause ()
- (interactive)
- (require 'mpc)
- (if (member (cdr (assq 'state (mpc-cmd-status))) '("play"))
- (mpc-pause)
- (mpc-play)))
-
(setq mpc-browser-tags '(Artist|Composer|Performer Album|Playlist))
(defun mdw-mpc-now-playing ()
(setq mpc-browser-tags '(Artist|Composer|Performer Album|Playlist))
(defun mdw-mpc-now-playing ()
(t
(message "mpd in unknown state `%s'" state)))))
(t
(message "mpd in unknown state `%s'" state)))))
-(autoload 'mpc-next "mpc")
-(autoload 'mpc-prev "mpc")
-(autoload 'mpc-stop "mpc")
+(defmacro mdw-define-mpc-wrapper (func bvl interactive &rest body)
+ `(defun ,func ,bvl
+ (interactive ,@interactive)
+ (require 'mpc)
+ ,@body
+ (mdw-mpc-now-playing)))
+
+(mdw-define-mpc-wrapper mdw-mpc-play-or-pause () nil
+ (if (member (cdr (assq 'state (mpc-cmd-status))) '("play"))
+ (mpc-pause)
+ (mpc-play)))
+
+(mdw-define-mpc-wrapper mdw-mpc-next () nil (mpc-next))
+(mdw-define-mpc-wrapper mdw-mpc-prev () nil (mpc-prev))
+(mdw-define-mpc-wrapper mdw-mpc-stop () nil (mpc-stop))
(defun mdw-mpc-hack-lines (arg interactivep func)
(if (and interactivep (use-region-p))
(defun mdw-mpc-hack-lines (arg interactivep func)
(if (and interactivep (use-region-p))