aboutsummaryrefslogtreecommitdiff
path: root/emms-setup.el
diff options
context:
space:
mode:
authorforcer <forcer>2005-09-28 03:42:00 +0000
committerforcer <mwolson@gnu.org>2005-09-28 03:42:00 +0000
commita6d3a6d26e449d5c8682477c03118c9193512f7f (patch)
treee5107d212488cca31c58a9a2a69bc1096f5d28d8 /emms-setup.el
parenta239073e80f4137b0eb95d37d60ed1e047710604 (diff)
Rename emms-default.el to emms-setup.el.
darcs-hash:20050928034207-2189f-b2873193aedf955414761a1d22c4873f8c7451e6.gz
Diffstat (limited to 'emms-setup.el')
-rw-r--r--emms-setup.el114
1 files changed, 114 insertions, 0 deletions
diff --git a/emms-setup.el b/emms-setup.el
new file mode 100644
index 0000000..dadd8ad
--- /dev/null
+++ b/emms-setup.el
@@ -0,0 +1,114 @@
+;;; emms-setup.el --- Setup script for EMMS
+
+;; Copyright (C) 2004 Free Software Foundation, Inc.
+
+;; Author: Ulrik Jensen <terryp@vernon>
+;; Keywords:
+
+;; This file is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; This file is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+;; Boston, MA 02110-1301 USA
+
+;;; Commentary:
+
+;; This script can intiialise EMMS to different "levels" of usage.
+
+;;; Code:
+
+(eval-when-compile
+ (require 'cl))
+
+;;; FIXME! This is only backwards-compatibility stuff, remove
+;;; `ignored' parameter.
+(defun emms-setup (level &optional directory &rest ignored)
+ "Sets up EMMS to a specific LEVEL of bells and whistles.
+
+This also sets DIRECTORY as the default directory for finding
+file-tracks.
+
+\(emms-setup 'cvs\) -- Will setup EMMS to a testing environment, that
+probably won't work, but utilizes all the available bells and whistles
+of the version you have installed.
+
+All possible values for the LEVEL, are:
+
+`cvs' -- Everything and no guarantees
+`advanced' -- info, playlist-mode, tageditor
+`default' -- info and the playlist-buffer-interface.
+`tiny' -- basic and playlist-mode
+`minimalistic' -- No bells and whistles, no info, no interfaces. M-x
+emms-next RET and such, as well as a single player. This should almost
+always work, unless you get very unlucky with a CVS-build."
+ ;; Always load the minimalistic setup
+ (require 'emms) ; minimalistic
+ (require 'emms-source-file)
+ (require 'emms-player-simple)
+ (require 'emms-player-mplayer)
+ (setq emms-player-list
+ '(emms-player-mpg321 emms-player-ogg123 emms-player-mplayer-playlist emms-player-mplayer)
+ emms-source-file-default-directory directory)
+
+ (when ignored
+ (message "Interface for `emms-setup' has changed, please consult the docstring.")
+ (ding))
+
+ (unless (equal level 'minimalistic) ; tiny
+ (require 'emms-playlist-mode)
+ (setq emms-playlist-default-major-mode 'emms-playlist-mode)
+
+ (unless (equal level 'tiny) ; default
+ ;; must be default, advanced or cvs, include the playlist-mode and the info
+ (require 'emms-info)
+ (add-to-list 'emms-track-initialize-functions 'emms-info-initialize-track)
+ (require 'emms-info-mp3info)
+ (add-to-list 'emms-info-functions 'emms-info-mp3info)
+ (require 'emms-info-ogginfo)
+ (add-to-list 'emms-info-functions 'emms-info-ogginfo)
+
+ ;; setup info
+ (setq emms-track-description-function 'emms-info-track-description)
+
+ (unless (equal level 'default) ; advanced
+ ;; + tageditor.
+ ;;(require 'emms-tageditor)
+ ;;(emms-tageditor-pbi-mode 1)
+
+ (unless (equal level 'advanced) ; cvs
+ ;; load the mode-line
+ (require 'emms-mode-line)
+ (emms-mode-line 1)
+ (emms-mode-line-blank)
+
+ ;; try using setnu
+ ;; (ignore-errors
+ ;; (require 'setnu)
+ ;; (add-hook 'emms-pbi-after-build-hook
+ ;; (lambda ()
+ ;; (setnu-mode 1)))))))))
+
+ ;; streaming audio interface
+ (require 'emms-streams)
+
+ ;; streaming audio information
+ (require 'emms-stream-info)
+
+ ;; display lyrics
+ (require 'emms-lyrics)
+
+ ;; display playing-time
+ (require 'emms-playing-time))))))
+
+
+(provide 'emms-setup)
+;;; emms-setup.el ends here