Introduction
============
EMMS is the Emacs Multi-Media System. It tries to be a clean and small
application to play multimedia files from Emacs using external
players. Many of it's ideas are derived from MpthreePlayer
(http://www.nongnu.org/mp3player), but it tries to be more general and
more clean.


Installation
============
You need to put all the .el files of emms in a directory in your
load-path. For example, if you put all those files into ~/elisp/emms/,
then in your ~/.emacs, you should do:

(add-to-list 'load-path "~/elisp/emms/")


Setup
=====
EMMS is quite simple to set up. For the most basic needs, you will
just need the following lines:

(require 'emms)
(require 'emms-player-simple)
(require 'emms-source-file)
(setq emms-player-list '(emms-player-mpg321
                         emms-player-ogg123
                         emms-player-mplayer)
      emms-source-list '((emms-directory-tree "~/media/")))

Assuming that your files reside in "~/media/". Adjust as needed.


Usage
=====
The basic functionality of EMMS ist just to play music without being
noticed. It provides a few commands to skip the current track and
such, but else, it doesn't show up. EMMS provides the following basic
user commands (that you might want to bind to keys):

emms-start ...... Start playing the current playlist
emms-stop ....... Stop playing
emms-next ....... Go to the next track in the playlist
emms-previous ... Go to the previous track in the playlist
emms-shuffle .... Shuffle the playlist
emms-show ....... What are you playing?

But before you can use these, you need a playlist to start with. The
following commands allow you to create a playlist from different
sources:

emms-play-file ............. Play a single file
emms-play-directory ........ Play a whole directory
emms-play-directory-tree ... Play a directory tree
emms-play-all .............. Play every source in emms-source-list


Overview
========
The basic functionality of EMMS consists of three parts: The core, the
sources, and the players.

The core resides in emms.el, and provides a simple playlist and the
basic functionality to use all the other features of EMMS. It provides
the common user commands and interfaces for other parts. It thinks in
tracks, where a track is the combination of a type and a name - e.g.
the track type 'file has a name that is the file name. Other track
types are possible.

To get to tracks, the core needs sources. The file emms-source-file.el
provides simple sources to interact with the file system.

When EMMS finally has the sources in the playlist, it needs a player
to play them. emms-player-simple.el defines a few useful players, and
allows you to define your own in a very simple way.

Modules
=======

To use the overwhelming modules just put a 

(require 'modulename)

in your .emacs


Playlist buffer (emms-pbi)
==========================

emms-pbi ................ Switch to playlist buffer

The playlist-buffer *Playlist* will be created and put into
emms-pbi-mode, which give you some usefull keybinings

key             binding
---             -------
?		describe-mode
<mouse-2>	emms-pbi-play-current-line
RET		emms-pbi-play-current-line
q		bury-buffer
Q		emms-pbi-quit
f		emms-pbi-show-current-line
s		emms-stop
C-y		emms-pbi-yank
C-k		emms-pbi-kill-line
c		emms-pbi-recenter
p		emms-previous
n		emms-next
C-x C-s		emms-pbi-export-playlist

Popup the Playlist Buffer (emms-pbi-popup)
==========================================

emms-pbi-popup-playlist...Popup Playlist buffer

After changing manually the track with emms-pbi-play-current-line the
old window configuration is restored. It might be useful to bind that
function to a global-key in your .emacs, for example:

(global-set-key (kbd "<f3>") 'emms-pbi-popup-playlist)

Scoring
=======

emms-score....................... Activate scoring
emms-score-change-mood........... Change current mood
emms-score-up-current............ Score up the current track
emms-score-down-current.......... Score down the current track
emms-score-up-file-on-line....... Score up file on line
emms-score-down-file-on-line..... Score down file on line
emms-score-be-more-tolerant...... Lower minimum score
emms-score-lower-tolerance....... Raise minimum score

