diff options
author | Michael Olson <mwolson@gnu.org> | 2006-04-01 21:06:00 +0000 |
---|---|---|
committer | Michael Olson <mwolson@gnu.org> | 2006-04-01 21:06:00 +0000 |
commit | bf80e02cd233409d56580bf38cc76ef58fc0f24e (patch) | |
tree | 158eb8b46b13313cc396d953784533aff17e6ee7 /emms-playing-time.el | |
parent | f2c85795a7b5c7e992b08c889ad563bce56f9ae2 (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.el | 54 |
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 |