From bf80e02cd233409d56580bf38cc76ef58fc0f24e Mon Sep 17 00:00:00 2001 From: Michael Olson Date: Sat, 1 Apr 2006 21:06:00 +0000 Subject: Make all add-on files toggle-able. darcs-hash:20060401210634-1bfb2-6a8f735119b68c6ab80d503910ec0105680fec73.gz --- emms-lyrics.el | 3 +++ emms-mode-line.el | 4 ++-- emms-player-mpd.el | 2 ++ emms-playing-time.el | 54 +++++++++++++++++++++++++++++++--------------------- emms-score.el | 26 +++++++++++++++++++++++++ emms-streams.el | 1 + 6 files changed, 66 insertions(+), 24 deletions(-) diff --git a/emms-lyrics.el b/emms-lyrics.el index 92565a3..f39b50a 100644 --- a/emms-lyrics.el +++ b/emms-lyrics.el @@ -240,6 +240,7 @@ To find FILE, will look up in current directory and `emms-lyrics-dir'." (setq emms-lyrics-display-on-modeline t) (message "Enable lyrics on mode line."))) +;;;###autoload (defun emms-lyrics-enable () "Enable displaying emms lyrics." (interactive) @@ -251,6 +252,7 @@ To find FILE, will look up in current directory and `emms-lyrics-dir'." (add-hook 'emms-player-seeked-functions 'emms-lyrics-seek) (message "emms lyrics enabled.")) +;;;###autoload (defun emms-lyrics-disable () "Disable displaying emms lyrics." (interactive) @@ -264,6 +266,7 @@ To find FILE, will look up in current directory and `emms-lyrics-dir'." (remove-hook 'emms-player-seeked-functions 'emms-lyrics-seek) (message "emms lyrics disabled.")) +;;;###autoload (defun emms-lyrics-toggle () "Toggle displaying emms lyrics." (interactive) diff --git a/emms-mode-line.el b/emms-mode-line.el index 0f12f72..83f1e67 100644 --- a/emms-mode-line.el +++ b/emms-mode-line.el @@ -115,8 +115,8 @@ "Toggle `emms-mode-line'." (interactive) (if emms-mode-line-active-p - (emms-mode-line-enable) - (emms-mode-line-disable))) + (emms-mode-line-disable) + (emms-mode-line-enable))) (defun emms-mode-line-alter (&optional track) "Alter mode-line/titlebar. diff --git a/emms-player-mpd.el b/emms-player-mpd.el index fe2bd33..6bac3fd 100644 --- a/emms-player-mpd.el +++ b/emms-player-mpd.el @@ -562,6 +562,7 @@ playlist, and then plays the current track." (run-at-time t emms-player-mpd-check-interval 'emms-player-mpd-detect-song-change))) +;;;###autoload (defun emms-player-mpd-connect () "Connect to MusicPD and retrieve its current playlist. Afterward, the status of MusicPD will be tracked." @@ -663,6 +664,7 @@ info from MusicPD." (when name (emms-track-set track name value)))))) +;;;###autoload (defun emms-player-mpd-show (&optional insertp) "Describe the current EMMS track in the minibuffer. If INSERTP is non-nil, insert the description into the current buffer instead. 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 diff --git a/emms-score.el b/emms-score.el index de72c2b..891866f 100644 --- a/emms-score.el +++ b/emms-score.el @@ -63,6 +63,8 @@ (defvar emms-score-min-score 0) (defvar emms-score-default-score 0) (defvar emms-score-hash (make-hash-table :test 'equal)) +(defvar emms-score-enabled-p nil + "If non-nil, emms score is active.") (defcustom emms-score-file "~/.emms/scores" "*Directory to store the score file." @@ -78,15 +80,39 @@ off otherwise." (interactive "p") (if (and arg (> arg 0)) (progn + (setq emms-score-enabled-p t) (emms-score-load-hash) (remove-hook 'emms-player-finished-hook 'emms-next-noerror) (add-hook 'emms-player-finished-hook 'emms-score-next-noerror) (add-hook 'kill-emacs-hook 'emms-score-save-hash)) + (setq emms-score-enabled-p nil) (emms-score-save-hash) (remove-hook 'emms-player-finished-hook 'emms-score-next-noerror) (add-hook 'emms-player-finished-hook 'emms-next-noerror) (remove-hook 'kill-emacs-hook 'emms-score-save-hash))) +;;;###autoload +(defun emms-score-enable () + "Turn on emms-score." + (interactive) + (emms-score 1) + (message "emms score enabled")) + +;;;###autoload +(defun emms-score-disable () + "Turn off emms-score." + (interactive) + (emms-score -1) + (message "emms score disabled")) + +;;;###autoload +(defun emms-score-toggle () + "Toggle emms-score." + (interactive) + (if emms-score-enabled-p + (emms-score-disable) + (emms-score-enable))) + (defun emms-score-change-mood (mood) "Change the current MOOD. The score hash is automatically saved." diff --git a/emms-streams.el b/emms-streams.el index b729c4b..cdd8ff2 100644 --- a/emms-streams.el +++ b/emms-streams.el @@ -152,6 +152,7 @@ If POS is nil, use current buffer location." (forward-line 0) (1+ (count-lines start (point)))))) +;;;###autoload (defun emms-streams () "Opens the EMMS Streams interface." (interactive) -- cgit v1.2.3