aboutsummaryrefslogtreecommitdiff
path: root/emms-playing-time.el
diff options
context:
space:
mode:
authorMichael Olson <mwolson@gnu.org>2006-04-01 21:06:00 +0000
committerMichael Olson <mwolson@gnu.org>2006-04-01 21:06:00 +0000
commitbf80e02cd233409d56580bf38cc76ef58fc0f24e (patch)
tree158eb8b46b13313cc396d953784533aff17e6ee7 /emms-playing-time.el
parentf2c85795a7b5c7e992b08c889ad563bce56f9ae2 (diff)
Make all add-on files toggle-able.
darcs-hash:20060401210634-1bfb2-6a8f735119b68c6ab80d503910ec0105680fec73.gz
Diffstat (limited to 'emms-playing-time.el')
-rw-r--r--emms-playing-time.el54
1 files changed, 32 insertions, 22 deletions
diff --git a/emms-playing-time.el b/emms-playing-time.el
index 83a50f8..3385437 100644
--- a/emms-playing-time.el
+++ b/emms-playing-time.el
@@ -28,7 +28,7 @@
;; (require 'emms-playing-time)
;;
;; Then either `M-x emms-playing-time-enable' or add
-;; (emms-playing-time-enable) in your .emacs to enable.
+;; (emms-playing-time 1) in your .emacs to enable.
;;; Code:
@@ -102,39 +102,48 @@ should enable `emms-playing-time-display-p' first, though."
(when (< emms-playing-time 0) ; back to start point
(setq emms-playing-time 0)))
+(defun emms-playing-time (arg)
+ "Turn on emms playing time if ARG is positive, off otherwise."
+ (interactive "p")
+ (if (and arg (> arg 0))
+ (progn
+ (setq emms-playing-time-display-p t)
+ (emms-playing-time-mode-line)
+ (add-hook 'emms-player-started-hook 'emms-playing-time-start)
+ (add-hook 'emms-player-stopped-hook 'emms-playing-time-stop)
+ (add-hook 'emms-player-finished-hook 'emms-playing-time-stop)
+ (add-hook 'emms-player-paused-hook 'emms-playing-time-pause)
+ (add-hook 'emms-player-seeked-functions 'emms-playing-time-seek))
+ (setq emms-playing-time-display-p nil)
+ (emms-playing-time-stop)
+ (emms-playing-time-restore-mode-line)
+ (remove-hook 'emms-player-started-hook 'emms-playing-time-start)
+ (remove-hook 'emms-player-stopped-hook 'emms-playing-time-stop)
+ (remove-hook 'emms-player-finished-hook 'emms-playing-time-stop)
+ (remove-hook 'emms-player-paused-hook 'emms-playing-time-pause)
+ (remove-hook 'emms-player-seeked-functions 'emms-playing-time-seek)))
+
+;;;###autoload
(defun emms-playing-time-enable ()
"Enable displaying emms playing time on mode line."
(interactive)
- (setq emms-playing-time-display-p t)
- (emms-playing-time-mode-line)
- (add-hook 'emms-player-started-hook 'emms-playing-time-start)
- (add-hook 'emms-player-stopped-hook 'emms-playing-time-stop)
- (add-hook 'emms-player-finished-hook 'emms-playing-time-stop)
- (add-hook 'emms-player-paused-hook 'emms-playing-time-pause)
- (add-hook 'emms-player-seeked-functions 'emms-playing-time-seek)
- (message "emms playing time enabled."))
+ (emms-playing-time 1)
+ (message "emms playing time enabled"))
+;;;###autoload
(defun emms-playing-time-disable ()
"Disable displaying emms playing time on mode line."
(interactive)
- (emms-playing-time-stop)
- (setq emms-playing-time-display-p nil)
- (emms-playing-time-restore-mode-line)
- (remove-hook 'emms-player-started-hook 'emms-playing-time-start)
- (remove-hook 'emms-player-stopped-hook 'emms-playing-time-stop)
- (remove-hook 'emms-player-finished-hook 'emms-playing-time-stop)
- (remove-hook 'emms-player-paused-hook 'emms-playing-time-pause)
- (remove-hook 'emms-player-seeked-functions 'emms-playing-time-seek)
- (message "emms playing time disabled."))
+ (emms-playing-time -1)
+ (message "emms playing time disabled"))
+;;;###autoload
(defun emms-playing-time-toggle ()
"Toggle displaying emms playing time on mode line."
(interactive)
- (setq emms-playing-time-display-p
- (not emms-playing-time-display-p))
(if emms-playing-time-display-p
- (emms-playing-time-enable)
- (emms-playing-time-disable)))
+ (emms-playing-time-disable)
+ (emms-playing-time-enable)))
(defun emms-playing-time-display ()
"Display playing time on the mode line."
@@ -163,6 +172,7 @@ should enable `emms-playing-time-display-p' first, though."
(defun emms-playing-time-mode-line ()
"Add playing time to the mode line."
+ (or global-mode-string (setq global-mode-string '("")))
(unless (member 'emms-playing-time-string
global-mode-string)
(setq global-mode-string