emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/emms 9412bf0 1/5: no longer need to provide the compile


From: Stefan Monnier
Subject: [elpa] externals/emms 9412bf0 1/5: no longer need to provide the compiled info and dir files
Date: Wed, 21 Apr 2021 19:08:35 -0400 (EDT)

branch: externals/emms
commit 9412bf085da449fba77df89933ef22bff147a573
Author: Yoni Rabkin <yoni@rabkins.net>
Commit: Yoni Rabkin <yoni@rabkins.net>

    no longer need to provide the compiled info and dir files
---
 dir       |   18 -
 emms.info | 4058 -------------------------------------------------------------
 2 files changed, 4076 deletions(-)

diff --git a/dir b/dir
deleted file mode 100644
index 9f22df5..0000000
--- a/dir
+++ /dev/null
@@ -1,18 +0,0 @@
-This is the file .../info/dir, which contains the
-topmost node of the Info hierarchy, called (dir)Top.
-The first time you invoke Info you start off looking at this node.
-
-File: dir,     Node: Top       This is the top of the INFO tree
-
-  This (the Directory node) gives a menu of major topics.
-  Typing "q" exits, "?" lists all Info commands, "d" returns here,
-  "h" gives a primer for first-timers,
-  "mEmacs<Return>" visits the Emacs manual, etc.
-
-  In Emacs, you can click mouse button 2 on a menu item or cross reference
-  to select it.
-
-* Menu:
-
-Emacs
-* Emms: (emms).                 The Emacs Multimedia System
diff --git a/emms.info b/emms.info
deleted file mode 100644
index 06fffd2..0000000
--- a/emms.info
+++ /dev/null
@@ -1,4058 +0,0 @@
-This is emms.info, produced by makeinfo version 6.1 from emms.texinfo.
-
-(C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2015, 2016,
-2020, 2021 Free Software Foundation, Inc.
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU Free Documentation License,
-     Version 1.1 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, no Front-Cover Texts, and
-     no Back-Cover Texts.  A copy of the license is included in the
-     section entitled "GNU Free Documentation License".
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* Emms: (emms).           The Emacs Multimedia System
-END-INFO-DIR-ENTRY
-
-
-File: emms.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
-
-Emms Manual
-***********
-
-This is the Manual for the Emacs Multimedia System.
-
-   (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2015, 2016,
-2020, 2021 Free Software Foundation, Inc.
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU Free Documentation License,
-     Version 1.1 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, no Front-Cover Texts, and
-     no Back-Cover Texts.  A copy of the license is included in the
-     section entitled "GNU Free Documentation License".
-
-* Menu:
-
-Starting out
-* Introduction::        Introduction to Emms.
-* Quickstart Guide::    First steps with Emms for new users.
-* Installation::        How to install Emms on your System.
-* Setup::               How to setup Emms.
-* Configuration::       More detailed setup and configuration.
-* Getting Help::        Where to get help with Emms and make suggestions.
-* Formats and Freedom:: File formats without restrictions.
-
-Emms basics
-* Basic Commands::      How to control Emms with ease.
-* The Core File::       The inner core of Emms.
-* Sources::             Sources for playlists-creation.
-* Simple Players::      Some simple players.
-* Playlists::           How Emms organizes media.
-
-Advanced Features
-* Track Information::        More narrative track descriptions.
-* Interactive Playlists::    Interactive Playlists.
-* Markable Playlists::       Allow tracks to be marked.
-* Extending Emms::       How to define new players and modules.
-
-Modules and Extensions
-* The Browser::          Advanced metadata browsing.
-* Sorting Playlists::    Sorting the order of the tracks.
-* Persistent Playlists:: Restoring playlists on emacs startup.
-* Editing Tracks::       Editing track information from within Emms.
-* Emms Mode Line::       Emms information on the mode line.
-* Limiting::             Derive a new playlist from the current.
-* Music Player Daemon::  Interface to Music Player Daemon.
-* Lyrics::               Displaying lyrics synchronously.
-* Volume::               Changing the volume.
-* Streaming Audio::      Interface to streaming audio.
-* APE / FLAC Commands::  How to play next or previous track in these files.
-* Bookmarks::            Saving a place in a media file.
-* Managing Playlists::   Managing multiple playlists.
-* GNU FM::               Connect to music community websites.
-
-Copying and license
-* Copying::             The GNU General Public License gives you permission to
-                            redistribute Emms on certain terms; it also 
explains
-                            that there is no warranty.
-* The GNU FDL::         The license for this documentation.
-
-Indices
-* Concept Index::
-* Function Index::
-* Variable Index::
-* Keybinding Index::
-
--- The Detailed Node Listing --
-
-Here are some other nodes which are really inferiors of the ones
-already listed, mentioned here so you can get to them in one step:
-
-Installation
-* Compiling Emms::      Compiling Emms into Byte-Code.
-
-The Core File
-* User Variables::     Variables for the user to tweak.
-* Hooks::              Hooks for important Emms functions.
-* Core Functions::     Providing the basic functionality of Emms.
-
-Track Information
-* Metadata Utilities:: Supported external metadata utilities.
-* Defining Info Methods::    Defining new info methods.
-
-Extending Emms
-* New Player::               How to define a new player.
-* Simple Player for `play':: Example player using 'play'.
-* More Complex Player::      Example of a complex player using 'mpg321'.
-
-
-File: emms.info,  Node: Introduction,  Next: Quickstart Guide,  Up: Top
-
-1 Introduction
-**************
-
-Emms is the Emacs Multi-Media System.  Emms organizes playlists, allows
-browsing through track and album metadata, and plays files by calling
-external players.
-
-   This manual tries to be the definitive source of information about
-Emms, an online version of the manual is available at:
-<http://www.gnu.org/software/emms/manual/>.
-
-   The basic functionality of Emms consists of three parts: The core,
-the sources, and the players.
-
-   The core resides in 'emms.el', 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
-provides a straightforward way of providing your own.
-
-   The Emms comes with many additional features to extend the
-functionality beyond the core.
-
-   The way Emms works is easy to customize with your own code or by
-using 'M-x customize' or by changing the variables directly.
-
-
-File: emms.info,  Node: Quickstart Guide,  Next: Installation,  Prev: 
Introduction,  Up: Top
-
-2 Quickstart Guide
-******************
-
-This chapter demonstrates how to setup Emms so that you can start
-listening to your music without having to read all of the documentation
-first.  This is the tl;dr version of the manual.
-
-   The first thing you do is to load Emms via GNU ELPA. But if you are
-installing manually, then start by telling Emacs where Emms is located.
-Let's say you have it in '~/elisp/emms/'.  So add this line to your
-'.emacs':
-
-     (add-to-list 'load-path "~/elisp/emms/lisp/")
-
-   More detailed information about installing Emms can be found in the
-installation chapter, *Note Installation::.
-
-   You'll then want to load Emms into Emacs.  To achieve this you invoke
-the 'emms-all' setup function by adding the following three lines to
-your Emacs initialization file.
-
-     (require 'emms-setup)
-     (emms-all)
-     (emms-default-players)
-
-   The function 'emms-default-players' in the last line sets up the list
-of default players.  The list contains lightweight specialized players
-like ogg123 or mpg321 and we-play-everything-players such as mplayer,
-mpv, vlc, etc..  To be sure that emms can play all your music you should
-check that your preferred players are installed on the machine.
-
-   More detail about setting up Emms can be found in the setup chapter,
-*Note Setup::.
-
-   Emms tries to display the tags (the name of the song, as opposed to
-the name of the file) of the music you listen to.  Emms can use a number
-of pieces of software and libraries as sources for track info, see *Note
-Track Information:: for more.
-
-   The last thing to do is to tell Emms where is your music; the root
-directory of our music collection.  Let's say all your music is in
-'~/Music' or in subdirectories thereof:
-
-     (setq emms-source-file-default-directory "~/Music/")
-
-   OK, now we've set up Emms.  Reload your Emacs initialization file or
-restart Emacs to let the changes have an effect.
-
-   Now we will add all our music to a playlist by invoking 'M-x
-emms-add-directory-tree RET ~/Music/ RET'.  We do this because then Emms
-will read the tags of all your music files and caches them (the cache is
-also required for the Emms browser, *Note The Browser::.)
-
-   To switch to the playlist buffer, invoke 'M-x emms-playlist-mode-go'
-or simply 'M-x emms'.  You may see that some tracks are displayed with
-their file name, but as Emms asynchronously populates its tag cache,
-track by track, the filenames get replaced with the artist and track
-name of the file's tag.
-
-   Go ahead and navigate to a track and hit 'RET' on it to start
-playback.
-
-   Now you can start exploring Emms.  It's probably best to begin with
-the basic commands (*note Basic Commands::), the interactive playlists
-(*note Interactive Playlists::), and the browser (*note The Browser::).
-
-
-File: emms.info,  Node: Installation,  Next: Setup,  Prev: Quickstart Guide,  
Up: Top
-
-3 Installation
-**************
-
-Emms is available via GNU ELPA, which takes care of all of the following
-steps automatically.
-
-   If you are installing Emms manually, 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
-add:
-
-     (add-to-list 'load-path "~/elisp/emms/lisp/")
-
-* Menu:
-
-* Compiling Emms::      Compiling Emms into Byte-Code.
-
-
-File: emms.info,  Node: Compiling Emms,  Up: Installation
-
-3.1 Compiling Emms
-==================
-
-If you are using XEmacs, you will need to edit 'Makefile' as follows
-before continuing.
-
-     EMACS=xemacs
-     SITEFLAG=-no-site-file
-
-   You can byte-compile Emms by first entering the directory containing
-the Emms source code, followed by invoking:
-
-   'make'
-
-   Which will byte compile Emms.  You can then invoke:
-
-   'make install'
-
-   Which will install Emms into your Emacs directories (provided you
-have the appropriate permissions to do so on your system).
-
-   Note that Emms is a light-weight and agile program, you can therefore
-run Emms just fine without byte compiling it.
-
-
-File: emms.info,  Node: Setup,  Next: Configuration,  Prev: Installation,  Up: 
Top
-
-4 Setup
-*******
-
-The 'emms-setup' feature is provided by the file 'emms-setup.el'.  It is
-essentially a collection of shortcuts for loading different Emms
-features quickly, but everything you can do with 'emms-setup' can also
-be done manually.
-
-   We use 'emms-setup' by calling one of the setup functions.
-
- -- Function: emms-minimalistic
-     An Emms setup script.  Playlists and all the basics for playing
-     media, but nothing else.
-
- -- Function: emms-all
-     An Emms setup script.  Loads all the stable features which come
-     with the Emms distribution.
-
-   'emms-setup' also comes with a convenience function to set a default
-list of media players.
-
- -- Function: emms-default-players
-     Set EMMS-PLAYER-LIST to EMMS-SETUP-DEFAULT-PLAYER-LIST.
-
-   You can of course write your own Emms setup functions like the above
-by looking at the existing function definitions in 'emms-setup.el'.
-
-
-File: emms.info,  Node: Configuration,  Next: Getting Help,  Prev: Setup,  Up: 
Top
-
-5 Configuration
-***************
-
-This chapter discusses the configuration of Emms in more detail.
-
-   The following code fragment provides a minimal Emms setup without
-using the layer of 'emms-setup'.  It can maybe be used to better
-understand the internals of Emms.  You can see how Emms needs to know
-about players (these are defined in 'emms-player-simple') and about
-sources for tracks (trivial file system based sources, such as this
-'emms-directory-tree', are defined in 'emms-source-file').
-
-     (require 'emms-player-simple)
-     (require 'emms-source-file)
-     (require 'emms-source-playlist)
-     (setq emms-player-list '(emms-player-mpg321
-                              emms-player-ogg123
-                              emms-player-mplayer))
-
-   For a discussion on how to define additional players, see *Note
-Simple Players::.
-
-   Much of the behaviour of Emms can be changed by setting variables.
-For example:
-
-     (setq emms-info-asynchronously nil)
-     (setq emms-playlist-buffer-name "*Music*")
-
-   The first 'setq' turns off the asynchronous updating of info tags.
-The second sets the default name of the Emms playlist buffer.
-
-   Another way to change Emms variables is to use the M-x 'customize'
-mechanism provided by Emacs.
-
-* Menu:
-
-* Finding files and speed::     Finding files quickly or portably.
-* Setup Examples::              Examples of ways to setup Emms.
-
-
-File: emms.info,  Node: Finding files and speed,  Next: Setup Examples,  Up: 
Configuration
-
-5.1 Finding files and speed
-===========================
-
-Emms needs to traverse directories in order to find playable media.  The
-default method Emms uses to achive this is
-'emms-source-file-directory-tree-internal' as defined in
-'emms-source-file.el'.  The above method is written portably and will
-always work, but might be too slow if we want to load several hundred
-tracks (or more).
-
-   'emms-source-file.el' defines another method for finding files,
-'emms-source-file-directory-tree-find' which uses GNU/find.
-'emms-source-file-directory-tree-find' is usually an order of magnitude
-faster, but of course will not work if you do not have GNU/find
-installed.
-
-   The method Emms will use is defined in the customisable variable
-EMMS-SOURCE-FILE-DIRECTORY-TREE-FUNCTION.
-
-
-File: emms.info,  Node: Setup Examples,  Prev: Finding files and speed,  Up: 
Configuration
-
-5.2 Setup Examples
-==================
-
-What follow are samples from real-world Emms configurations which show
-some of the variety and breadth of modifications people make to the
-default Emms setup.
-
-   The following excerpt includes dbus integration, defining a "recent"
-filter for the *Note The Browser::, persistent playlist via
-'emms-history.el', and enabling sending track information with
-'emms-librefm-stream.el':
-
-       ;; notifications
-       (require 'emms-dbus)
-       (emms-dbus-enable)
-       ;; covers
-       (setq emms-browser-covers #'emms-browser-cache-thumbnail-async)
-       (setq emms-browser-thumbnail-small-size 64)
-       (setq emms-browser-thumbnail-medium-size 128)
-       ;; filters
-       (emms-browser-make-filter "all" #'ignore)
-       (emms-browser-make-filter "recent"
-          (lambda (track) (< 30
-             (time-to-number-of-days
-       (time-subtract (current-time)
-             (emms-info-track-file-mtime track))))))
-       (emms-browser-set-filter (assoc "all" emms-browser-filters))
-       ;; history
-       (emms-history-load)
-       ;; libre-fm
-       (emms-librefm-scrobbler-enable)
-
-   In the following it is possible to see how some of defaults are set
-regarding saving playlists, playlist interaction, as well as adding
-special arguments to a specific player backend.
-
-       (setq-default
-        emms-source-file-default-directory "/mnt/db/mediaCore/sound_music/"
-
-        emms-source-playlist-default-format 'm3u
-        emms-playlist-mode-center-when-go t
-        emms-playlist-default-major-mode 'emms-playlist-mode
-        emms-show-format "NP: %s"
-
-        emms-player-list '(emms-player-mpv)
-        emms-player-mpv-environment '("PULSE_PROP_media.role=music")
-        emms-player-mpv-parameters '("--quiet" "--really-quiet" 
"--no-audio-display" "--force-window=no" "--vo=null"))
-
-
-File: emms.info,  Node: Getting Help,  Next: Formats and Freedom,  Prev: 
Configuration,  Up: Top
-
-6 Getting Help
-**************
-
-If you have a bug to report, need help, or wish to suggest a feature,
-please feel free to use the Emms mailing list.  The address of the list
-is emms-help@gnu.org.  To subscribe to it, visit
-<http://lists.gnu.org/mailman/listinfo/emms-help>.
-
-   If you are familiar with the Gmane service, there is a Gmane
-newsgroup which mirrors this mailing address at gmane.emacs.emms.user.
-
-   Emms also has a website at <http://www.gnu.org/software/emms/>.
-
-
-File: emms.info,  Node: Formats and Freedom,  Next: Basic Commands,  Prev: 
Getting Help,  Up: Top
-
-7 Formats and Freedom
-*********************
-
-Emms is free software, but some of the file formats it can play carry
-restrictions, they are proprietary file formats.  Proprietary software
-companies are pushing out audio and video formats which restrict when,
-where and how you can play them, and restrict developers from writing
-free software which interacts with them.
-
-   Restrictive file formats put the corporate bottom-line before the
-public interest.
-
-   Fortunately there are alternatives like Ogg.  Ogg is a professional
-grade multimedia format.  Ogg Vorbis is the compressed audio format
-(like MP3), and Ogg Theora is the video format.  For more information,
-go to <http://www.xiph.org/>.
-
-   If you want to transcode audio into a lossless format, you can try
-FLAC (Free Lossless Audio Codec).  FLAC stands out as the fastest and
-most widely supported lossless audio codec, and the only one that at
-once is non-proprietary, is unencumbered by patents and has the source
-code for a reference implementation freely available.  For more
-information about FLAC, go to <http://flac.sourceforge.net/>.
-
-
-File: emms.info,  Node: Basic Commands,  Next: The Core File,  Prev: Formats 
and Freedom,  Up: Top
-
-8 Basic Commands
-****************
-
-Before you can use the interface commands, you need a playlist to start
-with.  The following commands allow you to add to the current playlist
-from different sources:
-
-   Note that the commands with the "emms-add-" prefix add the source to
-the playlist but do not start playing it immediately.  Conversely, the
-commands with the "emms-play-" prefix begin playing the track
-immediately.
-
- -- Function: emms-play-file file
-     A source for a single file - either FILE, or queried from the user.
-     If called with a prefix the file will be added like
-     'emms-add-file'.
- -- Function: emms-add-file file
-     A source for a single file - either FILE, or queried from the user.
-     If called with a prefix the file will be played like
-     'emms-play-file'.
- -- Function: emms-play-directory dir
-     A source for a whole directory tree - either DIR, or queried from
-     the user.
- -- Function: emms-add-directory dir
-     A source for a whole directory tree - either DIR, or queried from
-     the user.
- -- Function: emms-play-directory-tree dir
-     A source for multiple directory trees - either DIR, or the value of
-     EMMS-SOURCE-FILE-DEFAULT-DIRECTORY.
- -- Function: emms-add-directory-tree dir
-     A source for multiple directory trees - either DIR, or the value of
-     EMMS-SOURCE-FILE-DEFAULT-DIRECTORY.
- -- Function: emms-play-url url
-     A source for an URL - for example, for streaming.
- -- Function: emms-add-url url
-     A source for an URL - for example, for streaming.
- -- Function: emms-play-playlist playlist
-     A source for the M3u or PLS playlist format from the file PLAYLIST.
- -- Function: emms-add-playlist playlist
-     A source for the M3u or PLS playlist format from the file PLAYLIST.
- -- Function: emms-play-find dir regexp
-     A source that will find files in DIR or
-     EMMS-SOURCE-FILE-DEFAULT-DIRECTORY which match REGEXP.
- -- Function: emms-add-find dir regexp
-     A source that will find files in DIR or
-     EMMS-SOURCE-FILE-DEFAULT-DIRECTORY which match REGEXP.
-
-   The basic functionality of Emms is just to play music without being
-noticed.  It provides a few commands to skip the current track and such,
-but other than that it doesn't show up.  Emms provides the following
-basic user commands (which you might want to bind to keystrokes):
-
- -- Function: emms-start
-     Start playing the current playlist
- -- Function: emms-stop
-     Stop playing
- -- Function: emms-next
-     Start playing the next track in the playlist
- -- Function: emms-previous
-     Start playing previous track in the playlist
- -- Function: emms-shuffle
-     Shuffle the current playlist.  This uses
-     EMMS-PLAYLIST-SHUFFLE-FUNCTION.
- -- Function: emms-sort
-     Sort the current playlist.  This uses EMMS-PLAYLIST-SORT-FUNCTION.
- -- Function: emms-show &optional insertp
-     Describe the current Emms track in the minibuffer.  If INSERTP is
-     non-nil, insert the description into the current buffer instead.
-     This function uses EMMS-SHOW-FORMAT to format the current track.
-
-   The command 'emms-show-all' will pop up a window with the complete
-information about the track being played.  'emms-show-all' is provided
-by 'emms-show-all.el', which is included in the 'emms-all' setup level.
-See *Note Setup::.
-
-
-File: emms.info,  Node: The Core File,  Next: Sources,  Prev: Basic Commands,  
Up: Top
-
-9 The Core File
-***************
-
-The core file 'emms.el' provides the all basic functions for playing
-music, generating playlists and defining players.
-
-* Menu:
-
-* User Variables::     Variables for the user to tweak.
-* Hooks::              Hooks for important Emms functions.
-* Core Functions::     Providing the basic functionality of Emms.
-
-
-File: emms.info,  Node: User Variables,  Next: Hooks,  Up: The Core File
-
-9.1 User Variables
-==================
-
-The core file defines a number of user variables.
-
- -- User Option: emms-player-list
-     A list of players Emms can use.  You need to set this in order to
-     use Emms to play media.
- -- User Option: emms-show-format
-     The format to use for 'emms-show'.  Any "%s" is replaced by what
-     EMMS-TRACK-DESCRIPTION-FUNCTION returns for the currently playing
-     track.
- -- User Option: emms-repeat-playlist
-     Non-nil if the Emms playlist should automatically repeat the
-     playlist.  If nil, playback will stop when the last track finishes
-     playing.
- -- User Option: emms-track-description-function
-     Function for describing an Emms track in a user-friendly way.
- -- User Option: emms-sort-lessp-function
-     A function that compares two tracks, and returns non-nil if the
-     first track should be sorted before the second (see also 'sort').
-
-
-File: emms.info,  Node: Hooks,  Next: Core Functions,  Prev: User Variables,  
Up: The Core File
-
-9.2 Hooks
-=========
-
-The core file provides hook variables for the basic functionality of
-Emms.
-
- -- User Option: emms-player-started-hook
-     A hook run when an Emms player started playing.
- -- User Option: emms-player-stopped-hook
-     A hook run when an Emms player stopped playing.  See also
-     EMMS-PLAYER-FINISHED-HOOK.
- -- User Option: emms-playlist-source-inserted-hook
-     Hook run when a source got inserted into the playlist.  The buffer
-     is narrowed to the new tracks.
- -- User Option: emms-playlist-selection-changed-hook
-     Hook run after another track is selected in the Emms playlist.
- -- User Option: emms-playlist-cleared-hook
-     Hook run after the current Emms playlist is cleared.  This happens
-     both when the playlist is cleared and when a new buffer is created
-     for it.
- -- User Option: emms-player-finished-hook
-     Hook run when an Emms player finishes playing a track.  Please pay
-     attention to the differences between EMMS-PLAYER-FINISHED-HOOK and
-     EMMS-PLAYER-STOPPED-HOOK.  The former is called only when the
-     player is stopped interactively; the latter, only when the player
-     actually finishes playing a track.
- -- User Option: emms-player-paused-hook
-     Hook run when a player is paused or resumed.  Use
-     EMMS-PLAYER-PAUSED-P to find the current state.
-
-
-File: emms.info,  Node: Core Functions,  Prev: Hooks,  Up: The Core File
-
-9.3 Core Functions
-==================
-
-The core file also defines all the functions important to the basic use
-of Emms.
-
-   There are functions which deal with movement in the playlist.
-
- -- Function: emms-next-noerror
-     Start playing the next track in the Emms playlist.  Unlike
-     'emms-next', this function doesn't signal an error when called at
-     the end of the playlist.  This function should only be called when
-     no player is playing.  This is a good function to put in
-     'emms-player-finished-hook'.
- -- Function: emms-playlist-next
-     Move to the previous track in the current buffer.
- -- Function: emms-playlist-previous
-     Move to the previous track in the current buffer.
- -- Function: emms-random
-     Jump to a random track.
- -- Function: emms-toggle-repeat-playlist
-     Toggle whether emms repeats the playlist after it is done.  See
-     EMMS-REPEAT-PLAYLIST.
- -- Function: emms-toggle-repeat-track
-     Toggle whether emms repeats the current track.  See
-     EMMS-REPEAT-TRACK.
- -- Function: emms-toggle-random-playlist
-     Toggle whether emms plays the tracks randomly or sequentially.  See
-   EMMS-RANDOM-PLAYLIST.
-
-   Some functions deal with the getting and setting track information.
-
- -- Function: emms-track type name
-     Create a track with type TYPE and name NAME.
- -- Function: emms-track-type track
-     Return the type of TRACK.
- -- Function: emms-track-name track
-     Return the name of TRACK.
- -- Function: emms-track-get name track &optional inexistent
-     Return the value of NAME for TRACK.  If there is no value, return
-     DEFAULT (or nil, if not given).
- -- Function: emms-track-set track name value
-     Set the value of NAME for TRACK to VALUE.
- -- Function: emms-track-description track
-     Return a description of TRACK.  This function uses
-     EMMS-TRACK-DESCRIPTION-FUNCTION.
- -- Function: emms-player-for track
-     Return an Emms player capable of playing TRACK.  This will be the
-     first player whose PLAYABLEP function returns non-nil, or nil if no
-     such player exists.
- -- Function: emms-playlist-current-selected-track
-     Return the currently selected track in the current playlist.
-
-   There are also functions which deal with the playing itself.
-
- -- Function: emms-player-start track
-     Start playing TRACK.
- -- Function: emms-player-stop
-     Stop the currently playing player.
- -- Function: emms-player-stopped
-     Declare that the current Emms player is finished.  This should only
-     be done by the current player itself.
- -- Function: emms-seek seconds
-     Seek the current player SECONDS seconds.  This can be a floating
-     point number for sub-second fractions.  It can also be negative to
-     seek backwards.
- -- Function: emms-seek-forward
-     Seek ten seconds forward.
- -- Function: emms-seek-backward
-     Seek ten seconds backward.
-
-   For more basic commands defined in the core file see *Note Basic
-Commands::.
-
-
-File: emms.info,  Node: Sources,  Next: Simple Players,  Prev: The Core File,  
Up: Top
-
-10 Sources
-**********
-
-Sources allow Emms to add and play tracks.  Emms comes with a number of
-sources of its own.  Sources are designed so that creating new ones will
-be easy.
-
-   For examples of Emms sources for files and directories see
-'emms-source-file.el'.
-
- -- User Option: emms-source-file-default-directory
-     The default directory to look for media files.
- -- Function: emms-play-find
-     Play all files in EMMS-SOURCE-FILE-DEFAULT-DIRECTORY that match a
-     specific regular expression.
- -- Function: emms-source-file &optional file
-     An Emms source for a single file - either FILE, or queried from the
-     user.
- -- Function: emms-source-files files
-     An Emms source for a list of FILES.
- -- Function: emms-source-directory &optional dir
-     An Emms source for a whole directory tree - either DIR, or queried
-     from the user
- -- Function: emms-source-directory-tree & optional dir
-     An Emms source for multiple directory trees - either DIR, or the
-     value of EMMS-SOURCE-FILE-DEFAULT-DIRECTORY.
- -- Function: emms-source-playlist file
-     An Emms source for playlists.  See EMMS-SOURCE-PLAYLIST-FORMATS for
-     a list of supported formats.
- -- Function: emms-source-playlist-native file
-     An Emms source for a native Emms playlist file.
- -- Function: emms-source-playlist-m3u file
-     An Emms source for an m3u playlist file.
- -- Function: emms-source-playlist-pls file
-     An Emms source for a pls playlist file.
- -- Function: emms-source-find &optional dir regex
-     An Emms source that will find files in DIR or
-     EMMS-SOURCE-FILE-DEFAULT-DIRECTORY that match REGEXP.
- -- Function: emms-source-file-directory-tree &optional dir
-     Return a list of all files under DIR which match REGEX.
- -- Function: emms-source-dired
-     Play all marked files of a dired buffer
- -- Function: emms-source-file-regex
-     Return a regexp that matches everything any player (that supports
-     files) can play.
- -- Function: emms-locate regexp
-     Search for REGEXP and display the results in a locate buffer
-
-
-File: emms.info,  Node: Simple Players,  Next: Playlists,  Prev: Sources,  Up: 
Top
-
-11 Simple Players
-*****************
-
- -- Macro: define-emms-simple-player name types regex command &rest args
-     Define a simple player.  NAME is used to construct the name of the
-     function like emms-player-NAME.  TYPES is a list of track types
-     understood by this player.  REGEX must be a regexp that matches the
-     filenames the player can play.  COMMAND specifies the command line
-     argument to call the player and ARGS are the command line
-     arguments.
-
-   For a discussion on how to define new players see *Note New Player::.
-
- -- Function: emms-player-simple-stop
-     Stop the currently playing process, if indeed there is one.
- -- Function: emms-player-simple-start filename cmdname params
-     Starts a process playing FILENAME using the specified CMDNAME with
-     the specified PARAMS.
- -- Function: emms-player-simple-sentinel proc str
-     Sentinel for determining the end of process for the process PROC
-     and the sentinel string STR.
-
-
-File: emms.info,  Node: Playlists,  Next: Track Information,  Prev: Simple 
Players,  Up: Top
-
-12 Playlists
-************
-
-Emms uses Emacs buffers to store the media tracks for playing.  We call
-one such buffer a "playlist buffer" or an "Emms playlist buffer".  Emms
-then proceeds to play the media tracks in the buffer from top to bottom
-until the end of the playlist.
-
-   The name of the playlist buffer is defined in the variable
-EMMS-PLAYLIST-BUFFER-NAME and is set to be an invisible Emacs buffer by
-default.  You can change to any name you want.  For an example
-configuration see *Note Configuration::.
-
-   You can create any number of playlist buffers you wish.  At any time
-Emms has a single "current" buffer through which it proceeds track by
-track.
-
- -- Function: emms-playlist-new &optional name
-     Create a new playlist buffer.  The buffer is named NAME, but made
-     unique.  NAME defaults to 'emms-playlist-buffer-name'.  If called
-     interactively, the new buffer is also selected.
-
- -- Function: emms-playlist-save &optional format file
-     Store the current playlist to FILE as the type FORMAT. The default
-     format is specified by EMMS-SOURCE-PLAYLIST-DEFAULT-FORMAT.
-
-   The current Emms playlist buffer is stored in the variable
-EMMS-PLAYLIST-BUFFER.
-
-
-File: emms.info,  Node: Track Information,  Next: Interactive Playlists,  
Prev: Playlists,  Up: Top
-
-13 Track Information
-********************
-
-By default Emms will only list tracks as file names or URLs in playlists
-(*note Playlists::) and the browser (*note The Browser::).  However,
-Emms can be configured to utilize so-called "info methods" to augment
-tracks with metadata information, such as artist name, track name, album
-title, and the like.  We describe these methods and their use in this
-chapter.
-
-   Fundamentally, info methods are Emacs Lisp functions that are called
-for each track to provide information for that track.  Current info
-methods in Emms are restricted to tracks that are files; they do not
-work with stream URLs (*note Streaming Audio::).  Some of the methods
-require installation of some additional software that Emms can then call
-to read metadata from disk (*note Metadata Utilities::).  Finally, some
-methods work only with a limited set of media file formats such as Ogg
-or MP3, while some methods support a wide variety of formats.
-
-   If caching is enabled (it is by default) then the metadata for each
-track will be stored in the cache for faster retrieval.  That means if
-you change info method and want updated tracks, you will have to reset
-the cache 'M-x emms-cache-reset' and then repopulate with 'M-x
-emms-add-directory-tree RET ~/Music/ RET' or similar.
-
-   Automatic track information retrieval is enabled by default in the
-'emms-all' setup level (*note Setup::).  That setup level configures
-Emms to use 'emms-info-native' and 'emms-info-cueinfo' methods, as they
-are the only methods that do not rely on additional software.
-
-   Here is a list of all info methods distributed with Emms and their
-software requirements:
-
-'emms-info-native'
-     This method is implemented completely in Emacs Lisp and hence does
-     not require any external software.  It supports Ogg Vorbis, Opus,
-     FLAC and MP3 files.
-
-'emms-info-tinytag'
-     This method utilizes a small Python library 'tinytag'.  It supports
-     MP3, Ogg Vorbis, Opus, MP4, M4A, FLAC, WMA and WAV formats.
-
-'emms-info-exiftool'
-     This method calls 'exiftool' utility written in Perl.  It supports
-     dozens of media file formats, far too many to list here.
-
-'emms-info-libtag'
-     This method calls a small "shim" executable 'emms-print-metadata'
-     built around TagLib library.  It supports MP3, Ogg Vorbis, Opus,
-     FLAC, MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4 and ASF
-     formats.
-
-'emms-info-metaflac'
-     This method calls 'metaflac' utility.  It works only with FLAC
-     files.
-
-'emms-info-mp3info'
-     This method calls 'mp3info' utility.  It works only with MP3 files
-     that have older id3v1 tags.
-
-'emms-info-ogginfo'
-     This method calls 'ogginfo' utility.  It supports Ogg Vorbis and
-     Theora formats.
-
-'emms-info-opusinfo'
-     This method calls 'opusinfo' utility.  It works only with Opus
-     files.
-
-'emms-info-cueinfo'
-     This is a special method that parses track information from an
-     accompanying cue file for FLAC and APE files (*note APE / FLAC
-     Commands::).  It does not require any additional software.
-
-   To use any of the methods, add the method to 'emms-info-functions'
-list.  For example:
-
-     (require 'emms-info-native)
-     (add-to-list 'emms-info-functions 'emms-info-native)
-
-You can also use a combination of format-specific tools if needed:
-
-     (require 'emms-info-mp3info)
-     (require 'emms-info-ogginfo)
-     (add-to-list 'emms-info-functions 'emms-info-mp3info 'emms-info-ogginfo)
-
-In this case both 'emms-info-mp3info' and 'emms-info-ogginfo' will be
-called for each track.
-
-   There are a number of user variables which control the behavior of
-'emms-info':
-
- -- User Option: emms-info-auto-update
-     Non-nil when Emms should update track information if the file
-     changes.  This will cause hard drive activity on track loading.  If
-     this is too annoying for you, set this variable to nil.
-
- -- User Option: emms-info-asynchronously
-     Non-nil when track information should be loaded asynchronously.
-     This requires the feature 'later-do' which is provided by the file
-     'later-do.el', which comes with Emms.  See variable
-     'emms-later-do-batch' for performance tweaking.
-
- -- User Option: emms-info-functions
-     A list of functions (info methods) which add information to tracks.
-     Each function is called with a track as argument.  If two info
-     methods produce the same information (for example album name), the
-     latter one takes precedence.
-
-* Menu:
-
-* Metadata Utilities::       Supported external metadata utilities.
-* Defining Info Methods::    How to define new info methods.
-
-
-File: emms.info,  Node: Metadata Utilities,  Next: Defining Info Methods,  Up: 
Track Information
-
-13.1 Metadata Utilities
-=======================
-
-With the exception of 'emms-info-native' and 'emms-info-cueinfo', Emms
-info methods require external metadata utilities to read metadata from
-media files.  If you plan to use a certain info method, make sure you
-have the corresponding utility installed.  All of these utilities are
-free software, and most of them are included in free GNU/Linux
-distributions.
-
-tinytag
-.......
-
-tinytag is a Python library for reading metadata from music files.  It
-is available at <https://pypi.org/project/tinytag/>.  Naturally a
-working Python interpreter is also required.  The corresponding Emms
-info method is 'emms-info-tinytag'.
-
-   It is best to configure 'emms-info-tinytag' as the sole info method
-for Emms, because competing and overlapping methods can cause confusion.
-To use it, add the following into your Emacs initialization file:
-
-     (require 'emms-info-tinytag)
-     (setq emms-info-functions '(emms-info-tinytag))
-
-ExifTool
-........
-
-ExifTool is a platform-independent Perl library and a command-line
-application for reading, writing and editing meta information in a wide
-variety of files.  It is available at <https://exiftool.org/>.
-Naturally a working Perl interpreter is also required.  The
-corresponding Emms info method is 'emms-info-exiftool'.
-
-   It is best to configure 'emms-info-exiftool' as the sole info method
-for Emms, because competing and overlapping methods can cause confusion.
-To use it, add the following into your Emacs initialization file:
-
-     (require 'emms-info-exiftool)
-     (setq emms-info-functions '(emms-info-exiftool))
-
-TagLib
-......
-
-TagLib is a library for reading and editing metadata of several popular
-audio formats.  It is available at <http://taglib.github.io/>.  Because
-TagLib is a C++ library instead of an executable program, you have to
-build and install a small "shim" executable 'emms-print-metadata' around
-it.  'emms-info-libtag' will then call this executable to read metadata
-from media files.
-
-   To compile 'emms-print-metadata' invoke
-
-   'make emms-print-metadata'
-
-in Emms directory.  For this to succeed you need to have a working C++
-compiler and TagLib development libraries installed on your system.  The
-resultant binary executable will be installed when you invoke
-
-   'make install' as in *Note Compiling Emms::.
-
-It is of course also possible to install only the 'emms-print-metadata'
-binary where your system can find and execute it without installing all
-of Emms via the make command.
-
-   Once 'emms-print-metadata' is available, it is best to configure
-'emms-info-libtag' as the sole info method for Emms, because competing
-and overlapping methods can cause confusion.  To use it, add the
-following into your Emacs initialization file:
-
-     (require 'emms-info-libtag)
-     (setq emms-info-functions '(emms-info-libtag))
-
-metaflac
-........
-
-'metaflac' is the command-line FLAC file metadata editor.  It is
-included in FLAC source distribution available at
-<https://github.com/xiph/flac>.  The corresponding info method is
-'emms-info-metaflac'.  To use it, add the following into your Emacs
-initialization file:
-
-     (require 'emms-info-metaflac)
-     (add-to-list 'emms-info-functions 'emms-info-libtag)
-
-MP3info
-.......
-
-MP3info is a small utility for reading and modifying id3v1 tags from MP3
-files.  Note that more recent id3v2 tags are not supported; for those
-you need to use another info method, for example 'emms-info-native'.
-MP3info is available at <https://ibiblio.org/mp3info/>.
-
-   The corresponding info method is 'emms-info-mp3info'.  To use it, add
-the following into your Emacs initialization file:
-
-     (require 'emms-info-mp3info)
-     (add-to-list 'emms-info-functions 'emms-info-mp3info)
-
-ogginfo
-.......
-
-'ogginfo' is a small utility for extracting information about Ogg Vorbis
-and Theora files.  It is part of Vorbis Tools source distribution
-available at <https://github.com/xiph/vorbis-tools>.  The corresponding
-info method is 'emms-info-ogginfo'.  To use it, add the following into
-your Emacs initialization file:
-
-     (require 'emms-info-ogginfo)
-     (add-to-list 'emms-info-functions 'emms-info-ogginfo)
-
-opusinfo
-........
-
-'opusinfo' is a small utility for extracting information about Opus
-files.  It is part of Opus Tools source distribution available at
-<https://github.com/xiph/opus-tools>.  The corresponding info method is
-'emms-info-opusinfo'.  To use it, add the following into your Emacs
-initialization file:
-
-     (require 'emms-info-opusinfo)
-     (add-to-list 'emms-info-functions 'emms-info-opusinfo)
-
-
-File: emms.info,  Node: Defining Info Methods,  Prev: Metadata Utilities,  Up: 
Track Information
-
-13.2 Defining Info Methods
-==========================
-
-An info method essentially consists of a function which, given an Emms
-track, sets the appropriate "info-symbols" for that track.  Info symbols
-are keys that have an associated value stored in the "metadata cache".
-While info symbols can have arbitrary names, the following symbols are
-recognized by Emms:
-
-'info-album'
-     Album title.
-
-'info-albumsort'
-     Album title for collation.
-
-'info-artist'
-     Artist name.
-
-'info-artistsort'
-     Artist name for collation.
-
-'info-albumartist'
-     Album artist name.
-
-'info-albumartistsort'
-     Album artist name for collation.
-
-'info-composer'
-     Composer name.
-
-'info-composersort'
-     Composer name for collation.
-
-'info-date'
-     Release date.
-
-'info-originaldate'
-     Original release date.
-
-'info-performer'
-     Performer name.
-
-'info-title'
-     Track title.
-
-'info-titlesort'
-     Track title for collation.
-
-'info-tracknumber'
-     Track number.
-
-'info-discnumber'
-     Disc number.
-
-'info-year'
-     Release year.
-
-'info-originalyear'
-     Original release year.
-
-'info-note'
-     Free-form note.
-
-'info-genre'
-     Genre.
-
-'info-label'
-     Record label.
-
-'info-playing-time'
-     Playing time in seconds.
-
-An info method does not need to add all of these symbols into the given
-track.  It can also add other symbols, but those extra symbols won't be
-used by Emms.
-
-   We can for example look at the predefined method for retrieving
-information about audio tracks in the Ogg format.  The function
-'emms-info-ogginfo' provided by 'emms-info-ogginfo.el' accepts an Emms
-track TRACK as a single argument.  It uses 'ogginfo' utility to extract
-a list of key-value metadata pairs from the file represented by TRACK.
-Next, it sets the appropriate info symbols for TRACK by calling
-'emms-track-set'.  Info symbols are interned from the extracted keys.
-Those keys can be arbitrary strings, but they typically coincide with
-the keys listed above; for example "album" and "artist" form info
-symbols 'info-album' and 'info-artist'.
-
-
-File: emms.info,  Node: Interactive Playlists,  Next: Markable Playlists,  
Prev: Track Information,  Up: Top
-
-14 Interactive Playlists
-************************
-
-Emms provides a visual, interactive playlist mode as well as the ability
-to use playlists without ever looking at then.  This visual, interactive
-mode is called the 'emms-playlist-mode' and is defined in
-'emms-playlist-mode.el'.
-
-   The interactive playlist mode is enabled by default in the 'emms-all'
-setup level.  For more information about Emms setup levels see *Note
-Setup::.
-
- -- Function: emms-playlist-mode-go
-     Switch to the current emms-playlist buffer and use
-     emms-playlist-mode.
-
-   If you wish to make this the default Emms playlist mode, add the
-following to your '.emacs'.
-
-     (setq emms-playlist-default-major-mode 'emms-playlist-mode)
-
-   The interactive playlist buffer shows the tracks in the current Emms
-playlist in the order in which they will be played.  The current track
-will be highlighted.
-
-   When in the interactive playlist mode we can perform different
-actions on the current playlist.
-
-'a'
-     Add files in the playlist at point to the current playlist buffer.
-     If we are in the current playlist, make a new playlist buffer and
-     set it as current.
-'b'
-     Set the current playlist buffer.
-'n'
-     Start playing the next track in the playlist.
-'p'
-     Start playing the previous track in the playlist.
-'s'
-     Stop playing.
-'P'
-     Pause.
-'>'
-     Seek ten seconds forward.
-'<'
-     Seek ten seconds backward.
-'f'
-     Describe the currently playing track in the minibuffer.
-'c'
-     Display the current track in the center of the screen.
-'RET'
-     Start playing the track under point.  Note that this is also
-     available with '<mouse-2>'.
-'SPC'
-     Scroll up a near full page.
-'M-<'
-     Go to the first track in the playlist.
-'M->'
-     Go to the last track in the playlist.
-'r'
-     Go to a randomly selected track in the playlist.
-'q'
-     Put the interactive playlist buffer at the end of the list of all
-     buffers.
-'C-x C-s'
-     Save the current playlist buffer to a file.  By default, Emms will
-     ask you for confirmation before overwriting an existing playlist.
-     You can silently overwrite existing playlist by setting
-     EMMS-SOURCE-PLAYLIST-ASK-BEFORE-OVERWRITE to nil.
-'?'
-     Describe the mode.
-
-   We can also edit the playlist using familiar GNU/Emacs commands:
-
-'C-k'
-     Remove the track under point from the playlist buffer.  Also
-     available using the 'd' key.
-'C-y'
-     See the command 'yank'
-'C-w'
-     See the command 'kill-region'
-'M-y'
-     See the command 'yank-pop'.
-'C-j'
-     Insert a newline at point.
-
-   We can use the regular GNU/Emacs killing and yanking commands to move
-and copy tracks in between playlist buffers.  We can use the same
-commands to insert arbitrary text into the playlist buffers together
-with the playlist tracks.  Text which is not a track is ignored by the
-program and can therefore be used to include titles and annotations
-within the playlist.
-
-
-File: emms.info,  Node: Markable Playlists,  Next: Extending Emms,  Prev: 
Interactive Playlists,  Up: Top
-
-15 Markable Playlists
-*********************
-
-The Markable Playlists provided by the file 'emms-mark.el' are an
-alternative to the default interactive playlists, *Note Interactive
-Playlists::.  They allow marking tracks with keybindings familiar to
-users of dired.
-
-   To enable the Markable Playlists you have to add
-
-     (require 'emms-mark)
-
-   to your '.emacs'.  Then you can activate 'emms-mark-mode' by
-executing 'M-x emms-mark-mode' in a playlist buffer.  You can return to
-the default interactive playlist mode with 'M-x emms-mark-mode-disable'.
-
-   If you wish to make this the default Emms playlist mode, add the
-following to your '.emacs'.
-
-     (setq emms-playlist-default-major-mode 'emms-mark-mode)
-
-'m'
-     Marks the current track and sets point one line forward.  If a
-     prefix argument ARG is given, it will mark the next ARG tracks and
-     set point accordingly.  A negative argument marks backward.
-'U'
-     Unmarks all tracks in the playlist.
-'t'
-     Toggles mark on the current track.
-'u'
-     Unmarks same way as 'emms-mark-forward' marks.
-'% m'
-     Marks all tracks in the playlist matching the given regular
-     expression.  A prefix argument means to unmark them instead.
-
-   When tracks are marked you can operate on them:
-
-'D'
-     Deletes the marked tracks from the playlist.
-'K'
-     Deletes the marked tracks from the playlist and places them in the
-     kill-ring, so that you can 'yank' in into another playlist.
-'W'
-     Adds the marked tracks to the kill-ring, so that you can 'yank'
-     them into another playlist.
-
-   emms-mark is also intent to provide a way for user to select tracks
-for other command to operate on them.  Currently, 'emms-tag-editor.el'
-uses the emms-mark to edit the tags of selected tracks.  Two functions
-are useful for the elisp programer to handle marked tracks.
-
- -- Function: emms-mark-do-with-marked-track
-     This function take a function to perform on all marked tracks.  A
-     optional argument 'move-flag' to tell the function to move forward
-     line after calling given function.  If the given function didn't
-     change position, the second argument should set to non-nil.
-
- -- Function: emms-mark-mapcar-marked-track
-     This function is very similar to 'emms-mark-do-with-marked-track'
-     except it collects result of given function (that's why named with
-     'mapcar').
-
-
-File: emms.info,  Node: Extending Emms,  Next: The Browser,  Prev: Markable 
Playlists,  Up: Top
-
-16 Extending Emms
-*****************
-
-Emms introduces a high abstraction layer for playing music so you can
-customise it to your needs.
-
-* Menu:
-
-* New Player::               How to define a new player.
-* Simple Player for `play':: An example player using 'play'.
-* More Complex Player::      Example of a complex player using 'mpg321'.
-
-
-File: emms.info,  Node: New Player,  Next: Simple Player for `play',  Up: 
Extending Emms
-
-16.1 New Player
-===============
-
-The file 'emms-player-simple.el' defines some easy players to start
-with, but it shouldn't be hard to provide a function for your favourite
-player.  We will start with an easy example that shows how we can use
-the 'play' command under Unix to play our WAV files.
-
-
-File: emms.info,  Node: Simple Player for `play',  Next: More Complex Player,  
Prev: New Player,  Up: Extending Emms
-
-16.2 Simple Player for 'play'
-=============================
-
-Play is a very easy command line player for various format.  If you want
-your emms to play WAV files just put the following lines in you
-'.emacs':
-
-     (require 'emms-player-simple)
-     (define-emms-simple-player play '(file) "\\.wav$" "play")
-
-   Huh!  Wasn't that easy?
-
-   The macro function 'define-emms-simple-player' takes a minimum of
-three arguments.  The first argument (_play_ in our example) defines the
-name of the player.  It's used to name the player functions.  The second
-is a regexp, that defines which files to play with our player.
-_\\.wav$_ matches any filename ending with a dot and the string wav.
-The last argument is the actual command line command we use to play our
-files.  You can also add the path but we just assume that the command is
-in your path.  All arguments you add to these three are optional.  They
-define the command line arguments you want to add to your argument.  If
-you want to hear the wav file of your favourite artist in the most
-possible volume use the following line:
-
-     (require 'emms-player-simple)
-
-     (define-emms-simple-player play
-                                '(file)
-                                "\\artist-*.wav$"
-                                "play"
-                                "--volume=100")
-
-   Please notice that you have to add the arguments as strings!
-
-   The command line tool you use for 'define-emms-simple-player' has to
-take one song as argument and stop after playing that particular song.
-For any other concept you will need to customise emms a bit more...
-
-
-File: emms.info,  Node: More Complex Player,  Prev: Simple Player for `play',  
Up: Extending Emms
-
-16.3 More Complex Player
-========================
-
-The most players you use will be simple players so you don't need to
-read this chapter.  But if you are curious how you can use (almost)
-every player in emms read further...
-
-   In this chapter we will use mpg321 to construct a player that
-actually can pause a track, restart it and show rest time.  We won't
-implement all of that, but after that chapter you will know how to
-define it.
-
-   The command 'define-emms-simple-player' is just a abstraction layer
-for 'define-emms-player', which is a little bit more complicated but
-much more powerful!
-
-     (define-emms-player "emms-mpg321-remote"
-       :start 'emms-mpg321-remote-start
-       :stop 'emms-mpg321-remote-stop
-       :playablep 'emms-mpg321-remote-playable-p)
-
-   So, that is almost all!  'define-emms-player' takes a minimum of
-three arguments.  The first is the name of the player.  The rest are
-methods with functions to call.  Three methods are required: start, stop
-and playable.  Start says Emms how to start a track (sic!), stop how to
-stop a player and playablep should return non-nil if the player can play
-the track.
-
-   So we just need these three functions to get our mpg321-remote:
-
-   First we code the start function.  We will check if there's a open
-process and start one otherwise.  Then we send a string to the process
-with the filename and set a filter.
-
-     (defun emms-mpg321-remote-start ()
-       (unless (get-process ``mpg321-remote'')
-         (setq emms-mpg321-remote-process
-               (start-process "mpg321-remote-process"
-                              "*mpg321*" "mpg321" "-R" "abc"))
-       (process-send-string "mpg321-remote-process"
-                            (concat "l " (emms-track-name track)))
-       (set-process-filter emms-mpg321-remote-process 
'emms-mpg321-remote-filter)))
-
-   We need the filter, as mpg321-remote won't quit after playing the
-track as the simple player do.  We wait until the process sends the
-output "(at-sign)P 0" (the signal of mpg321 that the song ended) to the
-filter and call emms-mpg321-remote-stop.
-
-     (defun emms-mpg321-remote-filter (process output)
-       (when (string-match "(at-sign)P 0" output)
-         (emms-mpg321-remote-stop)))
-
-   'emms-mpg321-remote-stop' won't do anything interesting.  It just
-test if there are other files to play and close the process otherwise.
-
-     (defun emms-mpg321-remote-stop ()
-       (unless emms-playlist
-         (process-send-string "mpg321-remote-process" "Q\n"))
-
-   And to make that a playable example I also added
-'emms-mpg321-remote-playablep', which I really just steal from
-'emms-player-simple.el'
-
-     (defun emms-mpg321-remote-playablep (track)
-            "Return non-nil when we can play this track."
-            (and (eq 'file (emms-track-type track))
-
-   Now we have a ready player and we could add commands like
-'emms-mpg321-remote-pause' for example.
-
-
-File: emms.info,  Node: The Browser,  Next: Sorting Playlists,  Prev: 
Extending Emms,  Up: Top
-
-17 The Browser
-**************
-
-The Browser allows you to browse the metadata cache and add tracks to
-your playlist.  It includes a powerful interactive mode.
-
-   The Browser is defined in 'emms-browser.el' and is included in the
-'emms-all' setup level.  For more information about Emms setup levels
-see *Note Setup::.
-
-   You can also manually add the Browser to your Emms setup by loading
-it explicitly with:
-
-     (require 'emms-browser)
-
-   To be properly useful, you should do M-x 'emms-add-directory-tree' to
-all the files you own at least once so that the cache is fully
-populated.
-
-* Menu:
-
-* Browser Interface::     The interactive browser interface.
-* Filtering Tracks::      Displaying a subset of the tracks.
-* Displaying Covers::     Displaying album covers in the browser interface.
-* Changing Looks::        Changing the tree structure, display format and 
faces.
-
-
-File: emms.info,  Node: Browser Interface,  Next: Filtering Tracks,  Up: The 
Browser
-
-17.1 Browser Interface
-======================
-
-The browser interface allows you to display and interact with your
-tracks in many different ways.  There are a number of ways to start the
-browser.
-
- -- Function: emms-smart-browse
-     Display browser and playlist.  Toggle between selecting browser,
-     playlist or hiding both.  Tries to behave sanely if the user has
-     manually changed the window configuration.
-
- -- Function: emms-browse-by-artist
-     Display the browser and order the tracks by artist.
-
- -- Function: emms-browse-by-album
-     Display the browser and order the tracks by album.
-
- -- Function: emms-browse-by-genre
-     Display the browser and order the tracks by genre.
-
- -- Function: emms-browse-by-year
-     Display the browser and order the tracks by year.
-
-   Once the Browser is displayed you can use it to managed your track
-collection and playlists.  The Browser is interactive and has its own
-keybindings.
-
-'C-j'
-     Add all tracks at point, and play the first added track.
-
-'RET'
-     Add all tracks at point.
-
-'SPC'
-     Show or hide (kill) subitems under the current line.
-
-'1'
-     Collapse everything.
-
-'2'
-     Expand all top level items one level.
-
-'3'
-     Expand all top level items two levels.
-
-'4'
-     Expand all top level items three levels.
-
-'C'
-     Clear the playlist.
-
-'E'
-     Expand everything.
-
-'d'
-     View the current directory in dired.
-
-'q'
-     Bury the browser buffer.
-
-'r'
-     Jump to a random track.
-
-'/'
-     Isearch through the buffer.
-
-'<'
-     Redisplay with the previous filter.
-
-'>'
-     Redisplay with the next filter.
-
-'?'
-     See the Emacs documentation for the function.
-
-'C-/'
-     Undo the previous playlist action.
-
-'<C-return>'
-     Add all tracks at point, and play the first added track.
-
-'<backtab>'
-     Jump to the previous non-track element.
-
-'<tab>'
-     Jump to the next non-track element.
-
-'s A'
-     Search the collection by album.
-
-'s a'
-     Search the collection by artist.
-
-'s s'
-     Search the collection by names.
-
-'s t'
-     Search the collection by title.
-
-'b 1'
-     Browse the collection by artist.
-
-'b 2'
-     Browse the collection by album.
-
-'b 3'
-     Browse the collection by genre.
-
-'b 4'
-     Browse the collection by year.
-
-'W a p'
-     Lookup the album using Pitchfork.
-
-'W a w'
-     Lookup the album using Wikipedia.
-
-
-File: emms.info,  Node: Filtering Tracks,  Next: Displaying Covers,  Prev: 
Browser Interface,  Up: The Browser
-
-17.2 Filtering Tracks
-=====================
-
-If you want to display a subset of your collection (such as a directory
-of 80s music, only avi files, etc.)  then you can extend the Browser by
-defining "filters".
-
-   Show everything:
-
-     (emms-browser-make-filter "all" 'ignore)
-
-   Set "all" as the default filter:
-
-     (emms-browser-set-filter (assoc "all" emms-browser-filters))
-
-   Show all files (no streamlists, etc):
-
-     (emms-browser-make-filter
-      "all-files" (emms-browser-filter-only-type 'file))
-
-   Show only tracks in one folder:
-
-     (emms-browser-make-filter
-      "80s" (emms-browser-filter-only-dir "~/Mp3s/80s"))
-
-   Show all tracks played in the last month:
-
-     (emms-browser-make-filter
-      "last-month" (emms-browser-filter-only-recent 30))
-
-   After executing the above commands, you can use M-x
-emms-browser-show-all, emms-browser-show-80s, etc to toggle between
-different collections.  Alternatively you can use '<' and '>' to cycle
-through the available filters.
-
-   The second argument to make-filter is a function which returns t if a
-single track should be filtered.  You can write your own filter
-functions to check the type of a file, etc.
-
-   Show only tracks not played in the last year:
-
-     (emms-browser-make-filter "not-played"
-      (lambda (track)
-       (not (funcall (emms-browser-filter-only-recent 365) track))))
-
-   Show all files that are not in the pending directory:
-
-     (emms-browser-make-filter
-      "all"
-      (lambda (track)
-        (or
-         (funcall (emms-browser-filter-only-type 'file) track)
-         (not (funcall
-               (emms-browser-filter-only-dir "~/Media/pending") track)))))
-
-
-File: emms.info,  Node: Displaying Covers,  Next: Changing Looks,  Prev: 
Filtering Tracks,  Up: The Browser
-
-17.3 Displaying Covers
-======================
-
-The browser will attempt to display cover images if they're available.
-
-   Customize EMMS-BROWSER-COVERS to configure how EMMS should retrieve
-the covers.
-
-   By default it looks for images 'cover_small.jpg', 'cover_med.jpg',
-etc.  Note that you'll probably want to resize your existing covers to
-particular sizes.  Suggested sizes are 100x100 for small, and 200x200
-for medium.
-
-   The above behaviour demands manual processing on behalf of the user.
-Instead, you might prefer to automate the process by setting
-EMMS-BROWSER-COVERS to 'emms-browser-cache-thumbnail': covers matching
-'emms-browser-thumbnail-filter' will be automatically resized if
-necessary and cached to EMMS-BROWSER-THUMBNAIL-DIRECTORY.  The cache
-gets automatically updated upon change in the source folder.
-
-   Customize EMMS-BROWSER-COVERS-FILE-EXTENSIONS to include or exclude
-specific extensions.
-
-   'emms-browser-cache-thumbnail' might be everytime a cover is queried,
-so to help with performance you can also set EMMS-BROWSER-COVERS to
-'emms-browser-cache-thumbnail-async'.  The latter is like the former
-except that it caches queries: every subsequent query will be much
-faster.  The drawback is that it won't see changes made to covers after
-the first query.  To force-refresh the thumbnail cache, you can run
-'emms-browser-clear-cache-hash'.
-
-   Also, Emacs by default will jump around a lot when scrolling a buffer
-with images.  In order to prevent that, you can set
-SCROLL-UP-AGGRESSIVELY and SCROLL-DOWN-AGGRESSIVELY to the number "0.0".
-
-   To show a 'no cover' image for albums which don't have a cover, add
-the following code to your .emacs:
-
-     (setq emms-browser-default-covers
-       (list "/path/to/cover_small.jpg" nil nil)
-
-   The medium and large images can be set as well.
-
-   You can download an example 'no cover' image
-(http://repose.cx/cover_small.jpg).
-
-
-File: emms.info,  Node: Changing Looks,  Prev: Displaying Covers,  Up: The 
Browser
-
-17.4 Changing Looks
-===================
-
-The Browser's look can be customised.  You can change the way the tree
-structure looks, the display format and display faces.
-
-Changing Tree Structure
------------------------
-
-You can change the way the tree is displayed by modifying the function
-'emms-browser-next-mapping-type'.
-
-   The following code displays artist->track instead of
-artist->album->track when you switch to the 'singles' filter:
-
-     (defadvice emms-browser-next-mapping-type
-                                     (after no-album (current-mapping))
-       (when (eq ad-return-value 'info-album)
-         (setq ad-return-value 'info-title)))
-
-     (defun toggle-album-display ()
-       (if (string= emms-browser-current-filter-name "singles")
-           (ad-activate 'emms-browser-next-mapping-type)
-         (ad-deactivate 'emms-browser-next-mapping-type)))
-
-     (add-hook 'emms-browser-filter-changed-hook 'toggle-album-display)
-
-   Furthermore, you can customize EMMS-BROWSER-GET-TRACK-FIELD-FUNCTION
-to choose which the metadata fields used for the different tree nodes
-(''info-artist', 'info-year', etc.).  For instance, you can choose
-whether to organize the tree by artist, album artist or performer.
-
-Changing Display Format
------------------------
-
-Format strings govern the way items are displayed in the browser and
-playlist.  You can customize these if you wish.
-
-   EMMS-BROWSER-DEFAULT-FORMAT controls the format to use when no other
-format has been explicitly defined.  By default, only track and albums
-deviate from the default.
-
-   To customise the format of a particular type, find the name of the
-field you want to use (eg 'info-artist', 'info-title', etc), and insert
-that into emms-browser-<type>-format or
-emms-browser-playlist-<type>-format.  For example, if you wanted to
-remove track numbers from tracks in both the browser and playlist, you
-could do:
-
-     (defvar emms-browser-info-title-format "%i%n")
-     (defvar emms-browser-playlist-info-title-format
-       emms-browser-info-title-format)
-
-   The format specifiers available include:
-
-     %i indent relative to the current level
-     %n the value of the item - eg -info-artist might be "pink floyd"
-     %y the album year
-     %A the album name
-     %a the artist name of the track
-     %t the title of the track
-     %T the track number
-     %cS a small album cover
-     %cM a medium album cover
-     %cL a big album cover
-
-   Note that if you use track-related items like %t, it will take the
-data from the first track.
-
-Changing Display Faces
-----------------------
-
-The faces used to display the various fields are also customizable.
-They are in the format emms-browser-<type>-face, where type is one of
-"year/genre", "artist", "album" or "track".  Note that faces lack the
-initial "info-" part.  For example, to change the artist face, type M-x
-'customize-face' 'emms-browser-artist-face'.
-
-
-File: emms.info,  Node: Sorting Playlists,  Next: Persistent Playlists,  Prev: 
The Browser,  Up: Top
-
-18 Sorting Playlists
-********************
-
-The 'emms-playlist-sort' module, defined in the 'emms-playlist-sort.el'
-package provides functions for sorting Emms playlists, as well as
-keyboard shortcuts for invoking the functions in the playlist buffer.
-Most of the functions will sort in reverse order if the command is
-preceded by a prefix.  'emms-playlist-sort' can be loaded by invoking:
-
-     (require 'emms-playlist-sort)
-
- -- Function: emms-playlist-sort-by-info-artist
-     Sort by artist name.
-
- -- Function: emms-playlist-sort-by-play-count
-     Sort by number of times the track has been played.
-
- -- Function: emms-playlist-sort-by-info-album
-     Sort by album name.
-
- -- Function: emms-playlist-sort-by-last-played
-     Sort by time the track was played last.
-
- -- Function: emms-playlist-sort-by-info-title
-     Sort by track title.
-
- -- Function: emms-playlist-sort-by-file-extension
-     Sort by filename extension.
-
- -- Function: emms-playlist-sort-by-info-performer
-     Sort by performer name.
-
- -- Function: emms-playlist-sort-by-info-year
-     Sort by year.
-
- -- Function: emms-playlist-sort-by-info-note
-     Sort by track notes.
-
- -- Function: emms-playlist-sort-by-info-composer
-     Sort by composer.
-
- -- Function: emms-playlist-sort-by-name
-     Sort by track name.
-
- -- Function: emms-playlist-sort-by-file-mtime
-     Sort by file mtime.
-
-
-File: emms.info,  Node: Persistent Playlists,  Next: Editing Tracks,  Prev: 
Sorting Playlists,  Up: Top
-
-19 Persistent Playlists
-***********************
-
-The Emms module 'emms-history.el' makes playlists persistent over emacs
-sessions.  To make use of this feature put this into your ~/.emacs.
-
-     (require 'emms-history)
-
-   When you kill emacs all playlists will be saved in the file given by
-the variable:
-
- -- User Option: emms-history-file
-     The file to save playlists in.  It defaults to
-     "~/.emacs.d/emms-history".
-
-   After you started up emacs again, you can restore all saved playlists
-with this function.
-
- -- Function: emms-history-load
-     Restore all playlists in 'emms-history-file'.
-
-   If that should be done automatically on each startup, put these lines
-into your ~/.emacs.
-
-     (require 'emms-history)
-     (emms-history-load)
-
-   Normally 'emms-history' only restores playlists.  If you want it to
-start playback afterwards, you can tweak this variable.
-
- -- User Option: emms-history-start-playing
-     If non-nil emms starts playing the current track after
-     'emms-history-load' was invoked.  The default value is nil.
-
-
-File: emms.info,  Node: Editing Tracks,  Next: Emms Mode Line,  Prev: 
Persistent Playlists,  Up: Top
-
-20 Editing Tracks
-*****************
-
-Using 'emms-tag-editor.el', emms can set tag informations of tracks and
-write them back to the file with the help of external programs, such as
-'mid3v2' and 'vorbiscomment'.
-
-   Use the keybinding 'E' to edit the tags of track under point in the
-playlist or all marked tracks (*note Markable Playlists:: for how to
-mark tracks).  The track's tag informations are listed in a special
-buffer '*Emms-TAGS*' in text format.  Field names are marked in bold
-face and are not editable.  Any tag information is placed behind an
-equal sign and is changable.  A special field 'name' is the track's file
-name.  If any change is made in this field, the track's file will be
-renamed to the new name.  When you finished editing the tag infos use
-'C-c C-c' (which calls 'emms-tag-editor-submit-and-exit') to submit the
-changes and close the '*Emms-TAGS*' buffer.
-
-   There are a few commands to perform changes on all tracks.
-
- -- Function: emms-tag-editor-set-all tag value
-     Set TAG to VALUE in all tracks.
-
-     If transient-mark-mode is turned on, you can apply the command to a
-     selected region.
-
-     If 'transient-mark-mode' is on and the mark is active, the changes
-     will only take effect on the tracks in the region.
-
- -- Function: emms-tag-editor-replace-in-tag tag from to
-     Query and replace text in selected TAG.
-
-     For example, if the info-title tag is selected, then only perform
-     replacement in title tags.
-
-     If 'transient-mark-mode' is on and the mark is active, the changes
-     will only take effect on the tracks in the region.
-
- -- Function: emms-tag-editor-transpose-tag tag1 tag2
-     Transpose value of TAG1 and TAG2.
-
-     If 'transient-mark-mode' is on and the mark is active, the changes
-     will only take effect on the tracks in the region.
-
- -- Function: emms-tag-editor-submit arg
-     Make modified tags take affect.
-
-     With prefix argument, bury the tag edit buffer.
-
-   If you want to extend the tag editor to work with file formats other
-than 'mp3' and 'ogg', have a look at these variables.
-
- -- Variable: emms-tag-editor-formats
-     This variable determine how to insert track fields to
-     'emms-tag-editor-edit-buffer'.  Emms tag info editable fields is
-     usually determined by the extension of track name.  The variable
-     'emms-tag-editor-tags' contains all tags that emms track may have.
-     A single charactar is assigned to the tag to make the
-     'emms-tag-editor-formats' easier to generate.
-
- -- Variable: emms-tag-editor-tagfile-functions
-     To write tags to track file, an extern program should specified in
-     this variable.
-
-Renaming Files
-==============
-
-The tag editor is also capable to rename the file of the track at point
-or all files of the marked tracks according to the value this variable.
-
- -- User Option: emms-tag-editor-rename-format
-     When 'emms-tag-editor-rename' is invoked the track's file will be
-     renamed according this format specification.  The file extension
-     will be added automatically.
-
-     It uses the format specs defined in 'emms-tag-editor-tags'.
-
-     The default value is "%a - %l - %n - %t", so that files are named
-
-     <Artist> - <Album> - <Tracknumber> - <Title>.<extension>
-
-     after renaming.
-
-   To perform the renaming put point on the track you want to rename or
-mark some tracks.  Then hit 'R' which calls this function:
-
- -- Function: emms-tag-editor-rename
-     Rename the file corresponding to track at point or all marked
-     tracks according to the value of 'emms-tag-editor-rename-format'.
-
-
-File: emms.info,  Node: Emms Mode Line,  Next: Limiting,  Prev: Editing 
Tracks,  Up: Top
-
-21 Emms Mode Line
-*****************
-
-We can display information about the currenty playing track on the Emacs
-mode line using the package 'emms-mode-line' which is provided by the
-file 'emms-mode-line.el'.
-
-   To activate this feature invoke:
-
-     (require 'emms-mode-line)
-     (emms-mode-line 1)
-
-   It is also possible to display the amount of time a track has been
-playing.  This feature is defined in the 'emms-playing-time' package
-which is provided by the file 'emms-playing-time.el'.
-
-   To use this feature invoke:
-
-     (require 'emms-playing-time)
-     (emms-playing-time 1)
-
-   A graphical icon can be displayed in the modeline when Emms is
-playing.  This feature is provided by 'emms-mode-line-icon.el'.  To
-enable invoke the following and make sure that
-EMMS-MODE-LINE-ICON-ENABLED-P is set to a non-nil value:
-
-     (require emms-mode-line-icon)
-
-   Note: '(emms-playing-time -1)' will disable emms-playing-time module
-completely, and is not recommended.  (since some other emms modules may
-rely on it)
-
-   Instead, to toggle displaying playing time on mode line, one could
-call 'emms-playing-time-enable-display' and
-'emms-playing-time-disable-display'."
-
- -- Function: emms-playing-time-enable-display
-     Display playing time on mode line.
-
- -- Function: emms-playing-time-disable-display
-     Remove playing time from mode line.
-
-
-File: emms.info,  Node: Limiting,  Next: Music Player Daemon,  Prev: Emms Mode 
Line,  Up: Top
-
-22 Limiting
-***********
-
-The package 'emms-playlist-limit', provided by 'emms-playlist-limit.el',
-allows creating a new playlist derived from the playlist in the current
-buffer.  For instance, it is possible to create a new playlist
-containing only a certain artist or genre from the playlist in the
-current buffer.
-
-   If the playlist in the current buffer is the emms current playlist
-then the derived playlist becomes current.
-
-'/ a'
-     Create a new playlist buffer and populate it with tracks whose
-     artist info field matches the given regular expression (default:
-     the artist info field of the track at point).
-
-'/ b'
-     Create a new playlist buffer and populate it with tracks whose
-     album info field matches the given regular expression (default: the
-     album info field of the track at point).
-
-'/ c'
-     Create a new playlist buffer and populate it with tracks whose
-     composer info field matches the given regular expression (default:
-     the composer info field of the track at point).
-
-'/ d'
-     Create a new playlist buffer and populate it with tracks whose
-     track description matches the given regular expression (default:
-     the track description of the track at point).
-
-'/ g'
-     Create a new playlist buffer and populate it with tracks whose
-     genre info field matches the given regular expression (default: the
-     genre info field of the track at point).
-
-'/ n'
-     Create a new playlist buffer and populate it with tracks whose name
-     matches the given regular expression (default: the name of the
-     track at point).
-
-'/ p'
-     Create a new playlist buffer and populate it with tracks whose
-     performer info field matches the given regular expression (default:
-     the performer info field of the track at point).
-
-'/ t'
-     Create a new playlist buffer and populate it with tracks whose
-     title info field matches the given regular expression (default: the
-     title info field of the track at point).
-
-'/ y'
-     Create a new playlist buffer and populate it with tracks whose year
-     info field matches the given regular expression (default: the year
-     info field of the track at point).
-
-'/ /'
-     Switch to the original playlist buffer (if it still exists).
-
-
-File: emms.info,  Node: Music Player Daemon,  Next: Lyrics,  Prev: Limiting,  
Up: Top
-
-23 Music Player Daemon
-**********************
-
-Emms provides an interface to the Music Player Daemon
-(http://www.musicpd.org/)(MusicPD) software.  The package is called
-'emms-player-mpd' and is provided by the file 'emms-player-mpd.el'.
-
-   The advantages of using MusicPD as an Emms backend include the
-following.
-
-   * minimal CPU usage
-   * fast access of track information
-   * optional crossfade
-
-Setup
------
-
-To load 'emms-player-mpd' invoke:
-
-     (require 'emms-player-mpd)
-
-   Set the variables EMMS-PLAYER-MPD-SERVER-NAME and
-EMMS-PLAYER-MPD-SERVER-PORT to the location and port (respectively) of
-your MusicPD server.  For example:
-
-     (setq emms-player-mpd-server-name "localhost")
-     (setq emms-player-mpd-server-port "6600")
-
-   If your MusicPD setup requires a password, you will to set
-EMMS-PLAYER-MPD-SERVER-PASSWORD as follows.
-
-     (setq emms-player-mpd-server-password "mypassword")
-
-   To get track information from MusicPD, invoke the following:
-
-     (add-to-list 'emms-info-functions 'emms-info-mpd)
-
-   Adding 'emms-player-mpd' to your Emms player list is accomplished by
-invoking:
-
-     (add-to-list 'emms-player-list 'emms-player-mpd)
-
-   Unless your MusicPD is configured to use absolute file names, you
-must set the emms-player-mpd-music-directory variable to the value of
-'music_directory' in your MusicPD configuration.  There are additional
-options available as well, but the defaults should be sufficient for
-most uses.
-
-   Once you've done the above, run the 'M-x emms-cache-set-from-mpd-all'
-command to fill the Emms cache with the contents of your MusicPD
-database.  The music in your MusicPD database should then be accessible
-via the Emms browser.
-
-   You can set EMMS-PLAYER-MPD-SYNC-PLAYLIST to nil if your master Emms
-playlist contains only stored playlists.
-
-Commands provided
------------------
-
- -- Function: emms-player-mpd-connect
-     Connect to MusicPD and retrieve its current playlist.  Afterward,
-     the status of MusicPD will be tracked.
-
- -- Function: emms-player-mpd-disconnect
-     Terminate the MusicPD client process and disconnect from MusicPD.
-
- -- Function: 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.
-     This function uses EMMS-SHOW-FORMAT to format the current track.
-     It differs from 'emms-show' in that it asks MusicPD for the current
-     track, rather than Emms.
-
-Updating the MusicPD database
-.............................
-
- -- Function: emms-player-mpd-update-directory dir
-     Cause the tracks in DIR to be updated in the MusicPD database.
-
- -- Function: emms-player-mpd-update-all
-     Cause all tracks in the MusicPD music directory to be updated in
-     the MusicPD database.
-
-emms-cache.el integration
-.........................
-
- -- Function: emms-cache-set-from-mpd-directory dir
-     Dump all MusicPD data from DIR into the Emms cache.  This is useful
-     to do when you have recently acquired new music.
-
- -- Function: emms-cache-set-from-mpd-all
-     Dump all MusicPD data into the Emms cache.  This is useful to do
-     once, just before using emms-browser.el, in order to prime the
-     cache.
-
-emms-volume.el integration
-..........................
-
-To activate this, add the following to your .emacs.
-
-     (require 'emms-volume)
-     (setq emms-volume-change-function 'emms-volume-mpd-change)
-
-
-File: emms.info,  Node: Lyrics,  Next: Volume,  Prev: Music Player Daemon,  
Up: Top
-
-24 Lyrics
-*********
-
-We can display the lyrics of a song in time with the music using the
-'emms-lyrics' package provided by the file 'emms-lyrics.el'.
-
-   The lyrics files should have the extention ".lrc", and can be placed
-under either the same directory as the music files or EMMS-LYRICS-DIR.
-
-   To add this feature we invoke:
-
-     (require 'emms-lyrics)
-     (emms-lyrics 1)
-
-   There are a number of variables we can set to define the way that
-'emms-lyrics' behaves, we can set these directly or by using the
-Customize feature in Emacs.
-
- -- User Option: emms-lyrics-display-on-minibuffer
-     If non-nil, display lyrics on minibuffer.
-
- -- User Option: emms-lyrics-display-on-modeline
-     If non-nil, display lyrics on modeline.
-
- -- User Option: emms-lyrics-dir
-     Local lyrics repository.  'emms-lyrics-find-lyric' will look for
-     lyrics in current directory(i.e., same as the music file) and this
-     directory.
-
- -- User Option: emms-lyrics-display-format
-     Format for displaying lyrics.  "%s" will be replaced by the lyrics
-     string.
-
- -- User Option: emms-lyrics-coding-system
-     Coding system used in the output of lyrics.
-
- -- User Option: emms-lyrics-scroll-p
-     Non-nil value will enable lyrics scrolling.
-
- -- User Option: emms-lyrics-scroll-timer-interval
-     Interval between scroller timers.  The shorter, the faster.
-
-   We can control 'emms-lyrics' with the help of the following
-functions:
-
- -- Function: emms-lyrics-start
-     Start displaying lyrics.
-
- -- Function: emms-lyrics-stop
-     Stop displaying lyrics.
-
- -- Function: emms-lyrics-toggle-display-on-minibuffer
-     Toggle display lyrics on minibufer.
-
- -- Function: emms-lyrics-toggle-display-on-modeline
-     Toggle display lyrics on mode line.
-
- -- Function: emms-lyrics-enable
-     Enable displaying Emms lyrics.
-
- -- Function: emms-lyrics-disable
-     Disable displaying Emms lyrics.
-
- -- Function: emms-lyrics-toggle
-     Toggle displaying Emms lyrics.
-
-
-File: emms.info,  Node: Volume,  Next: Streaming Audio,  Prev: Lyrics,  Up: Top
-
-25 Volume
-*********
-
-We can use the 'emms-volume' package, as provided by the
-'emms-volume.el' file, to manipulate the volume.
-
- -- User Option: emms-volume-change-amount
-     The amount to use when raising or lowering the volume using the
-     emms-volume interface.
-
-     This should be a positive integer.
-
- -- Function: emms-volume-raise
-     Increase the volume.
-
- -- Function: emms-volume-lower
-     Decrease the volume.
-
-   If you feel like binding those two functions to global keys -- don't
-do it or you'll miss the convenience of 'emms-volume-minor-mode'.
-Instead, bind the following two commands to some keys that you like.
-
- -- Function: emms-volume-mode-plus
-     Raise volume and enable or extend the 'emms-volume-minor-mode'
-     timeout.
-
- -- Function: emms-volume-mode-minus
-     Lower volume and enable or extend the 'emms-volume-minor-mode'
-     timeout.
-
-   Example:
-
-     (global-set-key (kbd "C-c +") 'emms-volume-mode-plus)
-     (global-set-key (kbd "C-c -") 'emms-volume-mode-minus)
-
-   Whenever you use one of these keys or call these functions with
-'M-x', Emms will be put into 'emms-volume-minor-mode' for a short period
-defined by 'emms-volume-mode-timeout'.
-
- -- User Option: emms-volume-mode-timeout
-     The timeout in amount of seconds used by 'emms-volume-minor-mode'.
-
-   In this interval you can raise/lower the volume simply by pressing
-'+' or '-', which will also reset the timer to its initial value.  So
-instead of pressing 'C-c +' six times to increase volume by six steps of
-'emms-volume-change-amount', you would simply type 'C-c + + + + + +'.
-
-   Emms can change volume with amixer, mpd, PulseAudio and mixerctl out
-of the box, see EMMS-VOLUME-CHANGE-FUNCTION.
-
-
-File: emms.info,  Node: Streaming Audio,  Next: APE / FLAC Commands,  Prev: 
Volume,  Up: Top
-
-26 Streaming Audio
-******************
-
-Emms is a great way to play streaming audio and internet radio.  It is
-possible to add streaming playlists and URLs to any playlist, but Emms
-also comes with a built-in, eclectic list of streaming audio stations.
-(1)
-
-   The 'emms-streams.el' package provides the command 'emms-streams'.
-
-   Invoking 'emms-streams' will pull up an Emms playlist buffer and
-populate it with the built-in list of streaming audio sources.
-
-   ---------- Footnotes ----------
-
-   (1) Emms has no affiliation of any kind with the streaming audio
-stations included, nor is their inclusion an endorsement of these
-stations.  Instead, this is a collection of stations submitted to the
-project over the years by people who enjoy Emms.  We hope you will enjoy
-them too, and invite you to send in your suggestions to add to the list.
-
-
-File: emms.info,  Node: APE / FLAC Commands,  Next: Bookmarks,  Prev: 
Streaming Audio,  Up: Top
-
-27 APE / FLAC Commands
-**********************
-
-Often, a single APE or FLAC file contains a complete album.  We can
-still play next or previous track in the album with the help of
-'emms-cue.el' package, provided there is a corresponding cue sheet file.
-This package also defines 'emms-info-cueinfo' for retreiving the track
-information for APE / FLAC itself.
-
-   To load 'emms-cue.el':
-
-     (require 'emms-cue)
-     (add-to-list 'emms-info-functions 'emms-info-cueinfo)
-
- -- Function: emms-cue-next
-     Play next track from .cue file
- -- Function: emms-cue-previous
-     Play previous track from .cue file
-
-
-File: emms.info,  Node: Bookmarks,  Next: Managing Playlists,  Prev: APE / 
FLAC Commands,  Up: Top
-
-28 Bookmarks
-************
-
-Emms can save a "temporal bookmark" in a media file via emms-bookmarks.
-The file 'emms-bookmarks.el' provides the package emms-bookmarks.
-
-   While some media is playing, invoking 'M-x emms-bookmarks-add' will
-first pause the playback and then prompt for a name describing the
-bookmark.  Tracks can have multiple bookmarks associated with them.
-
-   To jump to the next and previous bookmarks in the current track
-invoke 'M-x emms-bookmarks-next' and 'M-x emms-bookmarks-prev'
-respectively.
-
-   To clear all of the bookmarks for the current track invoke 'M-x
-emms-bookmarks-clear'.
-
-
-File: emms.info,  Node: Managing Playlists,  Next: GNU FM,  Prev: Bookmarks,  
Up: Top
-
-29 Managing Playlists
-*********************
-
-Emms can have multiple playlists, since a playlist is just another
-buffer with a list of tracks.  You can manage multiple playlists using
-'emms-metaplaylist-mode', provided by the file 'emms-metaplaylist-mode'.
-
-   Start the playlist manager with 'M-x emms-metaplaylist-mode-go'.  The
-playlist manager will list the playlists and mark the current one.  The
-following commands are available:
-
-'RET'
-     Make the buffer at point the Emms playlist buffer and switch to it.
-
-'SPC'
-     Make the buffer at point the Emms playlist buffer (but do not
-     switch to it).
-
-'n'
-     Move point to the next playlist.
-
-'p'
-     Move point to the previous playlist.
-
-'g'
-     Update the playlist manager buffer.
-
-'C'
-     Create a new Emms playlist buffer.
-
-'C-k'
-     Kill the Emms playlist buffer at point.
-
-'c'
-     Move point to the current playlist buffer.
-
-'q'
-     Kill the playlist manager.
-
-
-File: emms.info,  Node: GNU FM,  Next: Copying,  Prev: Managing Playlists,  
Up: Top
-
-30 GNU FM
-*********
-
-GNU FM (https://www.gnu.org/software/gnufm/) is free software for
-running music community websites.  It was created for the music
-community site, Libre.fm (http://libre.fm/).
-
-   Emms can send track information, and stream music from GNU FM servers
-using 'emms-librefm-scrobbler.el' and 'emms-librefm-stream.el',
-respectively.
-
-   Emms is configured by default to use Libre.fm (http://libre.fm/), but
-can work with any GNU FM server by configuring the variable
-EMMS-LIBREFM-SCROBBLER-HANDSHAKE-URL to the URL of the GNU FM server.
-
-   The recommended way of providing your credentials to the GNU FM
-server is by using an authinfo file.  Add authentication to your
-auth-info file, typically '~/.authinfo.gpg', as:
-     machine libre.fm login USERNAME password PASSWORD
-   If you are using some other server than libre.fm, change "'libre.fm'"
-to match EMMS-LIBREFM-SCROBBLER-HANDSHAKE-URL.
-
-   Alternatively, you can save the password in plaintext in your
-init-file by setting these variables:
-
-     (setq emms-librefm-scrobbler-username "USERNAME"
-           emms-librefm-scrobbler-password "PASSWORD")
-
-* Menu:
-
-* Uploading Track Information:: How to submit listened track information.
-* GNU FM Streaming:: Streaming music from a GNU FM server.
-
-
-File: emms.info,  Node: Uploading Track Information,  Next: GNU FM Streaming,  
Up: GNU FM
-
-30.1 Uploading Track Information
-================================
-
-GNU FM servers, such as Libre.fm can optionally store a user's listening
-habits using information sent to the website's server from the Emms.  By
-utilizing the records of users' listening habits, the website aims to be
-able to recommend music to users by analyzing their musical taste.
-
-   Load the feature into Emms with:
-
-     (require 'emms-librefm-scrobbler)
-
-   This feature can also be enabled via *Note Setup::, in the 'emms-all'
-setup level.
-
-   Enable uploading the details of the tracks Emms plays to the GNU FM
-server with 'emms-librefm-scrobbler-enable'.  The track's details will
-be uploaded to the server when the track's playback ends.  You can
-disable this behavior with 'emms-librefm-scrobbler-disable'.
-
-
-File: emms.info,  Node: GNU FM Streaming,  Prev: Uploading Track Information,  
Up: GNU FM
-
-30.2 GNU FM Streaming
-=====================
-
-If the GNU FM server provides a streaming music service you can take
-advantage of it by loading:
-
-     (require 'emms-librefm-stream)
-
-   This feature can also be enabled via *Note Setup::, in the 'emms-all'
-setup level.
-
-   Then invoke 'emms-librefm-stream' and enter the URL of the station
-you wish to listen to, for example "librefm://globaltags/Classical".
-
-
-File: emms.info,  Node: Copying,  Next: The GNU FDL,  Prev: Extending Emms,  
Up: Top
-
-GNU General Public License
-**************************
-
-                        Version 3, 29 June 2007
-
-     Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
-
-     Everyone is permitted to copy and distribute verbatim copies of this
-     license document, but changing it is not allowed.
-
-Preamble
-========
-
-The GNU General Public License is a free, copyleft license for software
-and other kinds of works.
-
-   The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program-to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-   When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-   To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-   For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-   Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-   For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-   Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-   Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-   The precise terms and conditions for copying, distribution and
-modification follow.
-
-                         TERMS AND CONDITIONS
-
-  0. Definitions.
-
-     "This License" refers to version 3 of the GNU General Public
-     License.
-
-     "Copyright" also means copyright-like laws that apply to other
-     kinds of works, such as semiconductor masks.
-
-     "The Program" refers to any copyrightable work licensed under this
-     License.  Each licensee is addressed as "you".  "Licensees" and
-     "recipients" may be individuals or organizations.
-
-     To "modify" a work means to copy from or adapt all or part of the
-     work in a fashion requiring copyright permission, other than the
-     making of an exact copy.  The resulting work is called a "modified
-     version" of the earlier work or a work "based on" the earlier work.
-
-     A "covered work" means either the unmodified Program or a work
-     based on the Program.
-
-     To "propagate" a work means to do anything with it that, without
-     permission, would make you directly or secondarily liable for
-     infringement under applicable copyright law, except executing it on
-     a computer or modifying a private copy.  Propagation includes
-     copying, distribution (with or without modification), making
-     available to the public, and in some countries other activities as
-     well.
-
-     To "convey" a work means any kind of propagation that enables other
-     parties to make or receive copies.  Mere interaction with a user
-     through a computer network, with no transfer of a copy, is not
-     conveying.
-
-     An interactive user interface displays "Appropriate Legal Notices"
-     to the extent that it includes a convenient and prominently visible
-     feature that (1) displays an appropriate copyright notice, and (2)
-     tells the user that there is no warranty for the work (except to
-     the extent that warranties are provided), that licensees may convey
-     the work under this License, and how to view a copy of this
-     License.  If the interface presents a list of user commands or
-     options, such as a menu, a prominent item in the list meets this
-     criterion.
-
-  1. Source Code.
-
-     The "source code" for a work means the preferred form of the work
-     for making modifications to it.  "Object code" means any non-source
-     form of a work.
-
-     A "Standard Interface" means an interface that either is an
-     official standard defined by a recognized standards body, or, in
-     the case of interfaces specified for a particular programming
-     language, one that is widely used among developers working in that
-     language.
-
-     The "System Libraries" of an executable work include anything,
-     other than the work as a whole, that (a) is included in the normal
-     form of packaging a Major Component, but which is not part of that
-     Major Component, and (b) serves only to enable use of the work with
-     that Major Component, or to implement a Standard Interface for
-     which an implementation is available to the public in source code
-     form.  A "Major Component", in this context, means a major
-     essential component (kernel, window system, and so on) of the
-     specific operating system (if any) on which the executable work
-     runs, or a compiler used to produce the work, or an object code
-     interpreter used to run it.
-
-     The "Corresponding Source" for a work in object code form means all
-     the source code needed to generate, install, and (for an executable
-     work) run the object code and to modify the work, including scripts
-     to control those activities.  However, it does not include the
-     work's System Libraries, or general-purpose tools or generally
-     available free programs which are used unmodified in performing
-     those activities but which are not part of the work.  For example,
-     Corresponding Source includes interface definition files associated
-     with source files for the work, and the source code for shared
-     libraries and dynamically linked subprograms that the work is
-     specifically designed to require, such as by intimate data
-     communication or control flow between those subprograms and other
-     parts of the work.
-
-     The Corresponding Source need not include anything that users can
-     regenerate automatically from other parts of the Corresponding
-     Source.
-
-     The Corresponding Source for a work in source code form is that
-     same work.
-
-  2. Basic Permissions.
-
-     All rights granted under this License are granted for the term of
-     copyright on the Program, and are irrevocable provided the stated
-     conditions are met.  This License explicitly affirms your unlimited
-     permission to run the unmodified Program.  The output from running
-     a covered work is covered by this License only if the output, given
-     its content, constitutes a covered work.  This License acknowledges
-     your rights of fair use or other equivalent, as provided by
-     copyright law.
-
-     You may make, run and propagate covered works that you do not
-     convey, without conditions so long as your license otherwise
-     remains in force.  You may convey covered works to others for the
-     sole purpose of having them make modifications exclusively for you,
-     or provide you with facilities for running those works, provided
-     that you comply with the terms of this License in conveying all
-     material for which you do not control copyright.  Those thus making
-     or running the covered works for you must do so exclusively on your
-     behalf, under your direction and control, on terms that prohibit
-     them from making any copies of your copyrighted material outside
-     their relationship with you.
-
-     Conveying under any other circumstances is permitted solely under
-     the conditions stated below.  Sublicensing is not allowed; section
-     10 makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-     No covered work shall be deemed part of an effective technological
-     measure under any applicable law fulfilling obligations under
-     article 11 of the WIPO copyright treaty adopted on 20 December
-     1996, or similar laws prohibiting or restricting circumvention of
-     such measures.
-
-     When you convey a covered work, you waive any legal power to forbid
-     circumvention of technological measures to the extent such
-     circumvention is effected by exercising rights under this License
-     with respect to the covered work, and you disclaim any intention to
-     limit operation or modification of the work as a means of
-     enforcing, against the work's users, your or third parties' legal
-     rights to forbid circumvention of technological measures.
-
-  4. Conveying Verbatim Copies.
-
-     You may convey verbatim copies of the Program's source code as you
-     receive it, in any medium, provided that you conspicuously and
-     appropriately publish on each copy an appropriate copyright notice;
-     keep intact all notices stating that this License and any
-     non-permissive terms added in accord with section 7 apply to the
-     code; keep intact all notices of the absence of any warranty; and
-     give all recipients a copy of this License along with the Program.
-
-     You may charge any price or no price for each copy that you convey,
-     and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-     You may convey a work based on the Program, or the modifications to
-     produce it from the Program, in the form of source code under the
-     terms of section 4, provided that you also meet all of these
-     conditions:
-
-       a. The work must carry prominent notices stating that you
-          modified it, and giving a relevant date.
-
-       b. The work must carry prominent notices stating that it is
-          released under this License and any conditions added under
-          section 7.  This requirement modifies the requirement in
-          section 4 to "keep intact all notices".
-
-       c. You must license the entire work, as a whole, under this
-          License to anyone who comes into possession of a copy.  This
-          License will therefore apply, along with any applicable
-          section 7 additional terms, to the whole of the work, and all
-          its parts, regardless of how they are packaged.  This License
-          gives no permission to license the work in any other way, but
-          it does not invalidate such permission if you have separately
-          received it.
-
-       d. If the work has interactive user interfaces, each must display
-          Appropriate Legal Notices; however, if the Program has
-          interactive interfaces that do not display Appropriate Legal
-          Notices, your work need not make them do so.
-
-     A compilation of a covered work with other separate and independent
-     works, which are not by their nature extensions of the covered
-     work, and which are not combined with it such as to form a larger
-     program, in or on a volume of a storage or distribution medium, is
-     called an "aggregate" if the compilation and its resulting
-     copyright are not used to limit the access or legal rights of the
-     compilation's users beyond what the individual works permit.
-     Inclusion of a covered work in an aggregate does not cause this
-     License to apply to the other parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-     You may convey a covered work in object code form under the terms
-     of sections 4 and 5, provided that you also convey the
-     machine-readable Corresponding Source under the terms of this
-     License, in one of these ways:
-
-       a. Convey the object code in, or embodied in, a physical product
-          (including a physical distribution medium), accompanied by the
-          Corresponding Source fixed on a durable physical medium
-          customarily used for software interchange.
-
-       b. Convey the object code in, or embodied in, a physical product
-          (including a physical distribution medium), accompanied by a
-          written offer, valid for at least three years and valid for as
-          long as you offer spare parts or customer support for that
-          product model, to give anyone who possesses the object code
-          either (1) a copy of the Corresponding Source for all the
-          software in the product that is covered by this License, on a
-          durable physical medium customarily used for software
-          interchange, for a price no more than your reasonable cost of
-          physically performing this conveying of source, or (2) access
-          to copy the Corresponding Source from a network server at no
-          charge.
-
-       c. Convey individual copies of the object code with a copy of the
-          written offer to provide the Corresponding Source.  This
-          alternative is allowed only occasionally and noncommercially,
-          and only if you received the object code with such an offer,
-          in accord with subsection 6b.
-
-       d. Convey the object code by offering access from a designated
-          place (gratis or for a charge), and offer equivalent access to
-          the Corresponding Source in the same way through the same
-          place at no further charge.  You need not require recipients
-          to copy the Corresponding Source along with the object code.
-          If the place to copy the object code is a network server, the
-          Corresponding Source may be on a different server (operated by
-          you or a third party) that supports equivalent copying
-          facilities, provided you maintain clear directions next to the
-          object code saying where to find the Corresponding Source.
-          Regardless of what server hosts the Corresponding Source, you
-          remain obligated to ensure that it is available for as long as
-          needed to satisfy these requirements.
-
-       e. Convey the object code using peer-to-peer transmission,
-          provided you inform other peers where the object code and
-          Corresponding Source of the work are being offered to the
-          general public at no charge under subsection 6d.
-
-     A separable portion of the object code, whose source code is
-     excluded from the Corresponding Source as a System Library, need
-     not be included in conveying the object code work.
-
-     A "User Product" is either (1) a "consumer product", which means
-     any tangible personal property which is normally used for personal,
-     family, or household purposes, or (2) anything designed or sold for
-     incorporation into a dwelling.  In determining whether a product is
-     a consumer product, doubtful cases shall be resolved in favor of
-     coverage.  For a particular product received by a particular user,
-     "normally used" refers to a typical or common use of that class of
-     product, regardless of the status of the particular user or of the
-     way in which the particular user actually uses, or expects or is
-     expected to use, the product.  A product is a consumer product
-     regardless of whether the product has substantial commercial,
-     industrial or non-consumer uses, unless such uses represent the
-     only significant mode of use of the product.
-
-     "Installation Information" for a User Product means any methods,
-     procedures, authorization keys, or other information required to
-     install and execute modified versions of a covered work in that
-     User Product from a modified version of its Corresponding Source.
-     The information must suffice to ensure that the continued
-     functioning of the modified object code is in no case prevented or
-     interfered with solely because modification has been made.
-
-     If you convey an object code work under this section in, or with,
-     or specifically for use in, a User Product, and the conveying
-     occurs as part of a transaction in which the right of possession
-     and use of the User Product is transferred to the recipient in
-     perpetuity or for a fixed term (regardless of how the transaction
-     is characterized), the Corresponding Source conveyed under this
-     section must be accompanied by the Installation Information.  But
-     this requirement does not apply if neither you nor any third party
-     retains the ability to install modified object code on the User
-     Product (for example, the work has been installed in ROM).
-
-     The requirement to provide Installation Information does not
-     include a requirement to continue to provide support service,
-     warranty, or updates for a work that has been modified or installed
-     by the recipient, or for the User Product in which it has been
-     modified or installed.  Access to a network may be denied when the
-     modification itself materially and adversely affects the operation
-     of the network or violates the rules and protocols for
-     communication across the network.
-
-     Corresponding Source conveyed, and Installation Information
-     provided, in accord with this section must be in a format that is
-     publicly documented (and with an implementation available to the
-     public in source code form), and must require no special password
-     or key for unpacking, reading or copying.
-
-  7. Additional Terms.
-
-     "Additional permissions" are terms that supplement the terms of
-     this License by making exceptions from one or more of its
-     conditions.  Additional permissions that are applicable to the
-     entire Program shall be treated as though they were included in
-     this License, to the extent that they are valid under applicable
-     law.  If additional permissions apply only to part of the Program,
-     that part may be used separately under those permissions, but the
-     entire Program remains governed by this License without regard to
-     the additional permissions.
-
-     When you convey a copy of a covered work, you may at your option
-     remove any additional permissions from that copy, or from any part
-     of it.  (Additional permissions may be written to require their own
-     removal in certain cases when you modify the work.)  You may place
-     additional permissions on material, added by you to a covered work,
-     for which you have or can give appropriate copyright permission.
-
-     Notwithstanding any other provision of this License, for material
-     you add to a covered work, you may (if authorized by the copyright
-     holders of that material) supplement the terms of this License with
-     terms:
-
-       a. Disclaiming warranty or limiting liability differently from
-          the terms of sections 15 and 16 of this License; or
-
-       b. Requiring preservation of specified reasonable legal notices
-          or author attributions in that material or in the Appropriate
-          Legal Notices displayed by works containing it; or
-
-       c. Prohibiting misrepresentation of the origin of that material,
-          or requiring that modified versions of such material be marked
-          in reasonable ways as different from the original version; or
-
-       d. Limiting the use for publicity purposes of names of licensors
-          or authors of the material; or
-
-       e. Declining to grant rights under trademark law for use of some
-          trade names, trademarks, or service marks; or
-
-       f. Requiring indemnification of licensors and authors of that
-          material by anyone who conveys the material (or modified
-          versions of it) with contractual assumptions of liability to
-          the recipient, for any liability that these contractual
-          assumptions directly impose on those licensors and authors.
-
-     All other non-permissive additional terms are considered "further
-     restrictions" within the meaning of section 10.  If the Program as
-     you received it, or any part of it, contains a notice stating that
-     it is governed by this License along with a term that is a further
-     restriction, you may remove that term.  If a license document
-     contains a further restriction but permits relicensing or conveying
-     under this License, you may add to a covered work material governed
-     by the terms of that license document, provided that the further
-     restriction does not survive such relicensing or conveying.
-
-     If you add terms to a covered work in accord with this section, you
-     must place, in the relevant source files, a statement of the
-     additional terms that apply to those files, or a notice indicating
-     where to find the applicable terms.
-
-     Additional terms, permissive or non-permissive, may be stated in
-     the form of a separately written license, or stated as exceptions;
-     the above requirements apply either way.
-
-  8. Termination.
-
-     You may not propagate or modify a covered work except as expressly
-     provided under this License.  Any attempt otherwise to propagate or
-     modify it is void, and will automatically terminate your rights
-     under this License (including any patent licenses granted under the
-     third paragraph of section 11).
-
-     However, if you cease all violation of this License, then your
-     license from a particular copyright holder is reinstated (a)
-     provisionally, unless and until the copyright holder explicitly and
-     finally terminates your license, and (b) permanently, if the
-     copyright holder fails to notify you of the violation by some
-     reasonable means prior to 60 days after the cessation.
-
-     Moreover, your license from a particular copyright holder is
-     reinstated permanently if the copyright holder notifies you of the
-     violation by some reasonable means, this is the first time you have
-     received notice of violation of this License (for any work) from
-     that copyright holder, and you cure the violation prior to 30 days
-     after your receipt of the notice.
-
-     Termination of your rights under this section does not terminate
-     the licenses of parties who have received copies or rights from you
-     under this License.  If your rights have been terminated and not
-     permanently reinstated, you do not qualify to receive new licenses
-     for the same material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-     You are not required to accept this License in order to receive or
-     run a copy of the Program.  Ancillary propagation of a covered work
-     occurring solely as a consequence of using peer-to-peer
-     transmission to receive a copy likewise does not require
-     acceptance.  However, nothing other than this License grants you
-     permission to propagate or modify any covered work.  These actions
-     infringe copyright if you do not accept this License.  Therefore,
-     by modifying or propagating a covered work, you indicate your
-     acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-     Each time you convey a covered work, the recipient automatically
-     receives a license from the original licensors, to run, modify and
-     propagate that work, subject to this License.  You are not
-     responsible for enforcing compliance by third parties with this
-     License.
-
-     An "entity transaction" is a transaction transferring control of an
-     organization, or substantially all assets of one, or subdividing an
-     organization, or merging organizations.  If propagation of a
-     covered work results from an entity transaction, each party to that
-     transaction who receives a copy of the work also receives whatever
-     licenses to the work the party's predecessor in interest had or
-     could give under the previous paragraph, plus a right to possession
-     of the Corresponding Source of the work from the predecessor in
-     interest, if the predecessor has it or can get it with reasonable
-     efforts.
-
-     You may not impose any further restrictions on the exercise of the
-     rights granted or affirmed under this License.  For example, you
-     may not impose a license fee, royalty, or other charge for exercise
-     of rights granted under this License, and you may not initiate
-     litigation (including a cross-claim or counterclaim in a lawsuit)
-     alleging that any patent claim is infringed by making, using,
-     selling, offering for sale, or importing the Program or any portion
-     of it.
-
-  11. Patents.
-
-     A "contributor" is a copyright holder who authorizes use under this
-     License of the Program or a work on which the Program is based.
-     The work thus licensed is called the contributor's "contributor
-     version".
-
-     A contributor's "essential patent claims" are all patent claims
-     owned or controlled by the contributor, whether already acquired or
-     hereafter acquired, that would be infringed by some manner,
-     permitted by this License, of making, using, or selling its
-     contributor version, but do not include claims that would be
-     infringed only as a consequence of further modification of the
-     contributor version.  For purposes of this definition, "control"
-     includes the right to grant patent sublicenses in a manner
-     consistent with the requirements of this License.
-
-     Each contributor grants you a non-exclusive, worldwide,
-     royalty-free patent license under the contributor's essential
-     patent claims, to make, use, sell, offer for sale, import and
-     otherwise run, modify and propagate the contents of its contributor
-     version.
-
-     In the following three paragraphs, a "patent license" is any
-     express agreement or commitment, however denominated, not to
-     enforce a patent (such as an express permission to practice a
-     patent or covenant not to sue for patent infringement).  To "grant"
-     such a patent license to a party means to make such an agreement or
-     commitment not to enforce a patent against the party.
-
-     If you convey a covered work, knowingly relying on a patent
-     license, and the Corresponding Source of the work is not available
-     for anyone to copy, free of charge and under the terms of this
-     License, through a publicly available network server or other
-     readily accessible means, then you must either (1) cause the
-     Corresponding Source to be so available, or (2) arrange to deprive
-     yourself of the benefit of the patent license for this particular
-     work, or (3) arrange, in a manner consistent with the requirements
-     of this License, to extend the patent license to downstream
-     recipients.  "Knowingly relying" means you have actual knowledge
-     that, but for the patent license, your conveying the covered work
-     in a country, or your recipient's use of the covered work in a
-     country, would infringe one or more identifiable patents in that
-     country that you have reason to believe are valid.
-
-     If, pursuant to or in connection with a single transaction or
-     arrangement, you convey, or propagate by procuring conveyance of, a
-     covered work, and grant a patent license to some of the parties
-     receiving the covered work authorizing them to use, propagate,
-     modify or convey a specific copy of the covered work, then the
-     patent license you grant is automatically extended to all
-     recipients of the covered work and works based on it.
-
-     A patent license is "discriminatory" if it does not include within
-     the scope of its coverage, prohibits the exercise of, or is
-     conditioned on the non-exercise of one or more of the rights that
-     are specifically granted under this License.  You may not convey a
-     covered work if you are a party to an arrangement with a third
-     party that is in the business of distributing software, under which
-     you make payment to the third party based on the extent of your
-     activity of conveying the work, and under which the third party
-     grants, to any of the parties who would receive the covered work
-     from you, a discriminatory patent license (a) in connection with
-     copies of the covered work conveyed by you (or copies made from
-     those copies), or (b) primarily for and in connection with specific
-     products or compilations that contain the covered work, unless you
-     entered into that arrangement, or that patent license was granted,
-     prior to 28 March 2007.
-
-     Nothing in this License shall be construed as excluding or limiting
-     any implied license or other defenses to infringement that may
-     otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-     If conditions are imposed on you (whether by court order, agreement
-     or otherwise) that contradict the conditions of this License, they
-     do not excuse you from the conditions of this License.  If you
-     cannot convey a covered work so as to satisfy simultaneously your
-     obligations under this License and any other pertinent obligations,
-     then as a consequence you may not convey it at all.  For example,
-     if you agree to terms that obligate you to collect a royalty for
-     further conveying from those to whom you convey the Program, the
-     only way you could satisfy both those terms and this License would
-     be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-     Notwithstanding any other provision of this License, you have
-     permission to link or combine any covered work with a work licensed
-     under version 3 of the GNU Affero General Public License into a
-     single combined work, and to convey the resulting work.  The terms
-     of this License will continue to apply to the part which is the
-     covered work, but the special requirements of the GNU Affero
-     General Public License, section 13, concerning interaction through
-     a network will apply to the combination as such.
-
-  14. Revised Versions of this License.
-
-     The Free Software Foundation may publish revised and/or new
-     versions of the GNU General Public License from time to time.  Such
-     new versions will be similar in spirit to the present version, but
-     may differ in detail to address new problems or concerns.
-
-     Each version is given a distinguishing version number.  If the
-     Program specifies that a certain numbered version of the GNU
-     General Public License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that numbered version or of any later version published by the Free
-     Software Foundation.  If the Program does not specify a version
-     number of the GNU General Public License, you may choose any
-     version ever published by the Free Software Foundation.
-
-     If the Program specifies that a proxy can decide which future
-     versions of the GNU General Public License can be used, that
-     proxy's public statement of acceptance of a version permanently
-     authorizes you to choose that version for the Program.
-
-     Later license versions may give you additional or different
-     permissions.  However, no additional obligations are imposed on any
-     author or copyright holder as a result of your choosing to follow a
-     later version.
-
-  15. Disclaimer of Warranty.
-
-     THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-     APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
-     COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-     MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
-     RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
-     SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-     NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-     IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-     WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
-     AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
-     DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-     CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
-     THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
-     BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-     PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-     PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
-     THE POSSIBILITY OF SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-     If the disclaimer of warranty and limitation of liability provided
-     above cannot be given local legal effect according to their terms,
-     reviewing courts shall apply local law that most closely
-     approximates an absolute waiver of all civil liability in
-     connection with the Program, unless a warranty or assumption of
-     liability accompanies a copy of the Program in return for a fee.
-
-                      END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-=============================================
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these
-terms.
-
-   To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-     ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
-     Copyright (C) YEAR NAME OF AUTHOR
-
-     This program 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 3 of the License, or (at
-     your option) any later version.
-
-     This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
-
-   Also add information on how to contact you by electronic and paper
-mail.
-
-   If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-     PROGRAM Copyright (C) YEAR NAME OF AUTHOR
-     This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
-     This is free software, and you are welcome to redistribute it under 
certain conditions; type 'show c' for details.
-
-   The hypothetical commands 'show w' and 'show c' should show the
-appropriate parts of the General Public License.  Of course, your
-program's commands might be different; for a GUI interface, you would
-use an "about box".
-
-   You should also get your employer (if you work as a programmer) or
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  For more information on this, and how to apply and follow
-the GNU GPL, see <http://www.gnu.org/licenses/>.
-
-   The GNU General Public License does not permit incorporating your
-program into proprietary programs.  If your program is a subroutine
-library, you may consider it more useful to permit linking proprietary
-applications with the library.  If this is what you want to do, use the
-GNU Lesser General Public License instead of this License.  But first,
-please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
-
-File: emms.info,  Node: The GNU FDL,  Next: Concept Index,  Prev: Copying,  
Up: Top
-
-31 GNU Free Documentation License
-*********************************
-
-                      Version 1.2, November 2002
-
-     Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
-     51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
-
-     Everyone is permitted to copy and distribute verbatim copies
-     of this license document, but changing it is not allowed.
-
-  0. PREAMBLE
-
-     The purpose of this License is to make a manual, textbook, or other
-     functional and useful document "free" in the sense of freedom: to
-     assure everyone the effective freedom to copy and redistribute it,
-     with or without modifying it, either commercially or
-     noncommercially.  Secondarily, this License preserves for the
-     author and publisher a way to get credit for their work, while not
-     being considered responsible for modifications made by others.
-
-     This License is a kind of "copyleft", which means that derivative
-     works of the document must themselves be free in the same sense.
-     It complements the GNU General Public License, which is a copyleft
-     license designed for free software.
-
-     We have designed this License in order to use it for manuals for
-     free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.  We
-     recommend this License principally for works whose purpose is
-     instruction or reference.
-
-  1. APPLICABILITY AND DEFINITIONS
-
-     This License applies to any manual or other work, in any medium,
-     that contains a notice placed by the copyright holder saying it can
-     be distributed under the terms of this License.  Such a notice
-     grants a world-wide, royalty-free license, unlimited in duration,
-     to use that work under the conditions stated herein.  The
-     "Document", below, refers to any such manual or work.  Any member
-     of the public is a licensee, and is addressed as "you".  You accept
-     the license if you copy, modify or distribute the work in a way
-     requiring permission under copyright law.
-
-     A "Modified Version" of the Document means any work containing the
-     Document or a portion of it, either copied verbatim, or with
-     modifications and/or translated into another language.
-
-     A "Secondary Section" is a named appendix or a front-matter section
-     of the Document that deals exclusively with the relationship of the
-     publishers or authors of the Document to the Document's overall
-     subject (or to related matters) and contains nothing that could
-     fall directly within that overall subject.  (Thus, if the Document
-     is in part a textbook of mathematics, a Secondary Section may not
-     explain any mathematics.)  The relationship could be a matter of
-     historical connection with the subject or with related matters, or
-     of legal, commercial, philosophical, ethical or political position
-     regarding them.
-
-     The "Invariant Sections" are certain Secondary Sections whose
-     titles are designated, as being those of Invariant Sections, in the
-     notice that says that the Document is released under this License.
-     If a section does not fit the above definition of Secondary then it
-     is not allowed to be designated as Invariant.  The Document may
-     contain zero Invariant Sections.  If the Document does not identify
-     any Invariant Sections then there are none.
-
-     The "Cover Texts" are certain short passages of text that are
-     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.  A
-     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
-     be at most 25 words.
-
-     A "Transparent" copy of the Document means a machine-readable copy,
-     represented in a format whose specification is available to the
-     general public, that is suitable for revising the document
-     straightforwardly with generic text editors or (for images composed
-     of pixels) generic paint programs or (for drawings) some widely
-     available drawing editor, and that is suitable for input to text
-     formatters or for automatic translation to a variety of formats
-     suitable for input to text formatters.  A copy made in an otherwise
-     Transparent file format whose markup, or absence of markup, has
-     been arranged to thwart or discourage subsequent modification by
-     readers is not Transparent.  An image format is not Transparent if
-     used for any substantial amount of text.  A copy that is not
-     "Transparent" is called "Opaque".
-
-     Examples of suitable formats for Transparent copies include plain
-     ASCII without markup, Texinfo input format, LaTeX input format,
-     SGML or XML using a publicly available DTD, and standard-conforming
-     simple HTML, PostScript or PDF designed for human modification.
-     Examples of transparent image formats include PNG, XCF and JPG.
-     Opaque formats include proprietary formats that can be read and
-     edited only by proprietary word processors, SGML or XML for which
-     the DTD and/or processing tools are not generally available, and
-     the machine-generated HTML, PostScript or PDF produced by some word
-     processors for output purposes only.
-
-     The "Title Page" means, for a printed book, the title page itself,
-     plus such following pages as are needed to hold, legibly, the
-     material this License requires to appear in the title page.  For
-     works in formats which do not have any title page as such, "Title
-     Page" means the text near the most prominent appearance of the
-     work's title, preceding the beginning of the body of the text.
-
-     A section "Entitled XYZ" means a named subunit of the Document
-     whose title either is precisely XYZ or contains XYZ in parentheses
-     following text that translates XYZ in another language.  (Here XYZ
-     stands for a specific section name mentioned below, such as
-     "Acknowledgements", "Dedications", "Endorsements", or "History".)
-     To "Preserve the Title" of such a section when you modify the
-     Document means that it remains a section "Entitled XYZ" according
-     to this definition.
-
-     The Document may include Warranty Disclaimers next to the notice
-     which states that this License applies to the Document.  These
-     Warranty Disclaimers are considered to be included by reference in
-     this License, but only as regards disclaiming warranties: any other
-     implication that these Warranty Disclaimers may have is void and
-     has no effect on the meaning of this License.
-
-  2. VERBATIM COPYING
-
-     You may copy and distribute the Document in any medium, either
-     commercially or noncommercially, provided that this License, the
-     copyright notices, and the license notice saying this License
-     applies to the Document are reproduced in all copies, and that you
-     add no other conditions whatsoever to those of this License.  You
-     may not use technical measures to obstruct or control the reading
-     or further copying of the copies you make or distribute.  However,
-     you may accept compensation in exchange for copies.  If you
-     distribute a large enough number of copies you must also follow the
-     conditions in section 3.
-
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
-
-  3. COPYING IN QUANTITY
-
-     If you publish printed copies (or copies in media that commonly
-     have printed covers) of the Document, numbering more than 100, and
-     the Document's license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
-     Back-Cover Texts on the back cover.  Both covers must also clearly
-     and legibly identify you as the publisher of these copies.  The
-     front cover must present the full title with all words of the title
-     equally prominent and visible.  You may add other material on the
-     covers in addition.  Copying with changes limited to the covers, as
-     long as they preserve the title of the Document and satisfy these
-     conditions, can be treated as verbatim copying in other respects.
-
-     If the required texts for either cover are too voluminous to fit
-     legibly, you should put the first ones listed (as many as fit
-     reasonably) on the actual cover, and continue the rest onto
-     adjacent pages.
-
-     If you publish or distribute Opaque copies of the Document
-     numbering more than 100, you must either include a machine-readable
-     Transparent copy along with each Opaque copy, or state in or with
-     each Opaque copy a computer-network location from which the general
-     network-using public has access to download using public-standard
-     network protocols a complete Transparent copy of the Document, free
-     of added material.  If you use the latter option, you must take
-     reasonably prudent steps, when you begin distribution of Opaque
-     copies in quantity, to ensure that this Transparent copy will
-     remain thus accessible at the stated location until at least one
-     year after the last time you distribute an Opaque copy (directly or
-     through your agents or retailers) of that edition to the public.
-
-     It is requested, but not required, that you contact the authors of
-     the Document well before redistributing any large number of copies,
-     to give them a chance to provide you with an updated version of the
-     Document.
-
-  4. MODIFICATIONS
-
-     You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with the
-     Modified Version filling the role of the Document, thus licensing
-     distribution and modification of the Modified Version to whoever
-     possesses a copy of it.  In addition, you must do these things in
-     the Modified Version:
-
-       A. Use in the Title Page (and on the covers, if any) a title
-          distinct from that of the Document, and from those of previous
-          versions (which should, if there were any, be listed in the
-          History section of the Document).  You may use the same title
-          as a previous version if the original publisher of that
-          version gives permission.
-
-       B. List on the Title Page, as authors, one or more persons or
-          entities responsible for authorship of the modifications in
-          the Modified Version, together with at least five of the
-          principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
-
-       C. State on the Title page the name of the publisher of the
-          Modified Version, as the publisher.
-
-       D. Preserve all the copyright notices of the Document.
-
-       E. Add an appropriate copyright notice for your modifications
-          adjacent to the other copyright notices.
-
-       F. Include, immediately after the copyright notices, a license
-          notice giving the public permission to use the Modified
-          Version under the terms of this License, in the form shown in
-          the Addendum below.
-
-       G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document's
-          license notice.
-
-       H. Include an unaltered copy of this License.
-
-       I. Preserve the section Entitled "History", Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on the
-          Title Page.  If there is no section Entitled "History" in the
-          Document, create one stating the title, year, authors, and
-          publisher of the Document as given on its Title Page, then add
-          an item describing the Modified Version as stated in the
-          previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in the
-          "History" section.  You may omit a network location for a work
-          that was published at least four years before the Document
-          itself, or if the original publisher of the version it refers
-          to gives permission.
-
-       K. For any section Entitled "Acknowledgements" or "Dedications",
-          Preserve the Title of the section, and preserve in the section
-          all the substance and tone of each of the contributor
-          acknowledgements and/or dedications given therein.
-
-       L. Preserve all the Invariant Sections of the Document, unaltered
-          in their text and in their titles.  Section numbers or the
-          equivalent are not considered part of the section titles.
-
-       M. Delete any section Entitled "Endorsements".  Such a section
-          may not be included in the Modified Version.
-
-       N. Do not retitle any existing section to be Entitled
-          "Endorsements" or to conflict in title with any Invariant
-          Section.
-
-       O. Preserve any Warranty Disclaimers.
-
-     If the Modified Version includes new front-matter sections or
-     appendices that qualify as Secondary Sections and contain no
-     material copied from the Document, you may at your option designate
-     some or all of these sections as invariant.  To do this, add their
-     titles to the list of Invariant Sections in the Modified Version's
-     license notice.  These titles must be distinct from any other
-     section titles.
-
-     You may add a section Entitled "Endorsements", provided it contains
-     nothing but endorsements of your Modified Version by various
-     parties--for example, statements of peer review or that the text
-     has been approved by an organization as the authoritative
-     definition of a standard.
-
-     You may add a passage of up to five words as a Front-Cover Text,
-     and a passage of up to 25 words as a Back-Cover Text, to the end of
-     the list of Cover Texts in the Modified Version.  Only one passage
-     of Front-Cover Text and one of Back-Cover Text may be added by (or
-     through arrangements made by) any one entity.  If the Document
-     already includes a cover text for the same cover, previously added
-     by you or by arrangement made by the same entity you are acting on
-     behalf of, you may not add another; but you may replace the old
-     one, on explicit permission from the previous publisher that added
-     the old one.
-
-     The author(s) and publisher(s) of the Document do not by this
-     License give permission to use their names for publicity for or to
-     assert or imply endorsement of any Modified Version.
-
-  5. COMBINING DOCUMENTS
-
-     You may combine the Document with other documents released under
-     this License, under the terms defined in section 4 above for
-     modified versions, provided that you include in the combination all
-     of the Invariant Sections of all of the original documents,
-     unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice, and that you preserve all
-     their Warranty Disclaimers.
-
-     The combined work need only contain one copy of this License, and
-     multiple identical Invariant Sections may be replaced with a single
-     copy.  If there are multiple Invariant Sections with the same name
-     but different contents, make the title of each such section unique
-     by adding at the end of it, in parentheses, the name of the
-     original author or publisher of that section if known, or else a
-     unique number.  Make the same adjustment to the section titles in
-     the list of Invariant Sections in the license notice of the
-     combined work.
-
-     In the combination, you must combine any sections Entitled
-     "History" in the various original documents, forming one section
-     Entitled "History"; likewise combine any sections Entitled
-     "Acknowledgements", and any sections Entitled "Dedications".  You
-     must delete all sections Entitled "Endorsements."
-
-  6. COLLECTIONS OF DOCUMENTS
-
-     You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single copy
-     that is included in the collection, provided that you follow the
-     rules of this License for verbatim copying of each of the documents
-     in all other respects.
-
-     You may extract a single document from such a collection, and
-     distribute it individually under this License, provided you insert
-     a copy of this License into the extracted document, and follow this
-     License in all other respects regarding verbatim copying of that
-     document.
-
-  7. AGGREGATION WITH INDEPENDENT WORKS
-
-     A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of a
-     storage or distribution medium, is called an "aggregate" if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation's users beyond what the individual
-     works permit.  When the Document is included in an aggregate, this
-     License does not apply to the other works in the aggregate which
-     are not themselves derivative works of the Document.
-
-     If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one half
-     of the entire aggregate, the Document's Cover Texts may be placed
-     on covers that bracket the Document within the aggregate, or the
-     electronic equivalent of covers if the Document is in electronic
-     form.  Otherwise they must appear on printed covers that bracket
-     the whole aggregate.
-
-  8. TRANSLATION
-
-     Translation is considered a kind of modification, so you may
-     distribute translations of the Document under the terms of section
-     4.  Replacing Invariant Sections with translations requires special
-     permission from their copyright holders, but you may include
-     translations of some or all Invariant Sections in addition to the
-     original versions of these Invariant Sections.  You may include a
-     translation of this License, and all the license notices in the
-     Document, and any Warranty Disclaimers, provided that you also
-     include the original English version of this License and the
-     original versions of those notices and disclaimers.  In case of a
-     disagreement between the translation and the original version of
-     this License or a notice or disclaimer, the original version will
-     prevail.
-
-     If a section in the Document is Entitled "Acknowledgements",
-     "Dedications", or "History", the requirement (section 4) to
-     Preserve its Title (section 1) will typically require changing the
-     actual title.
-
-  9. TERMINATION
-
-     You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided for under this License.  Any other
-     attempt to copy, modify, sublicense or distribute the Document is
-     void, and will automatically terminate your rights under this
-     License.  However, parties who have received copies, or rights,
-     from you under this License will not have their licenses terminated
-     so long as such parties remain in full compliance.
-
-  10. FUTURE REVISIONS OF THIS LICENSE
-
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but may
-     differ in detail to address new problems or concerns.  See
-     <http://www.gnu.org/copyleft/>.
-
-     Each version of the License is given a distinguishing version
-     number.  If the Document specifies that a particular numbered
-     version of this License "or any later version" applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
-     published (not as a draft) by the Free Software Foundation.  If the
-     Document does not specify a version number of this License, you may
-     choose any version ever published (not as a draft) by the Free
-     Software Foundation.
-
-31.1 ADDENDUM: How to use this License for your documents
-=========================================================
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and license
-notices just after the title page:
-
-       Copyright (C)  YEAR  YOUR NAME.
-       Permission is granted to copy, distribute and/or modify this document
-       under the terms of the GNU Free Documentation License, Version 1.2
-       or any later version published by the Free Software Foundation;
-       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-       Texts.  A copy of the license is included in the section entitled ``GNU
-       Free Documentation License''.
-
-   If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts."  line with this:
-
-         with the Invariant Sections being LIST THEIR TITLES, with
-         the Front-Cover Texts being LIST, and with the Back-Cover Texts
-         being LIST.
-
-   If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-   If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of free
-software license, such as the GNU General Public License, to permit
-their use in free software.
-
-
-File: emms.info,  Node: Concept Index,  Next: Function Index,  Prev: The GNU 
FDL,  Up: Top
-
-Concept Index
-*************
-
-[index]
-* Menu:
-
-* adding functionality:                  Hooks.                 (line 6)
-* advanced player:                       More Complex Player.   (line 6)
-* basic commands:                        Basic Commands.        (line 6)
-* basic functions:                       Core Functions.        (line 6)
-* basic player:                          Simple Player for `play'.
-                                                                (line 6)
-* commands, basic:                       Basic Commands.        (line 6)
-* compiling:                             Compiling Emms.        (line 6)
-* complex player:                        More Complex Player.   (line 6)
-* Configuration:                         Configuration.         (line 6)
-* configuration:                         Setup Examples.        (line 6)
-* core file:                             The Core File.         (line 6)
-* core functions:                        Core Functions.        (line 6)
-* defining info methods:                 Defining Info Methods. (line 6)
-* defining new players:                  New Player.            (line 6)
-* defining players:                      Extending Emms.        (line 6)
-* display emms information:              Emms Mode Line.        (line 6)
-* example:                               Setup Examples.        (line 6)
-* FDL, GNU Free Documentation License:   The GNU FDL.           (line 6)
-* files:                                 Finding files and speed.
-                                                                (line 6)
-* format:                                Formats and Freedom.   (line 6)
-* freedom:                               Formats and Freedom.   (line 6)
-* GNU FM:                                GNU FM.                (line 6)
-* heart of Emms:                         The Core File.         (line 6)
-* hooks:                                 Hooks.                 (line 6)
-* info tags:                             Track Information.     (line 6)
-* installation:                          Installation.          (line 6)
-* Interactive Playlists:                 Interactive Playlists. (line 6)
-* internet radio:                        Streaming Audio.       (line 6)
-* introduction:                          Introduction.          (line 6)
-* limiting:                              Limiting.              (line 6)
-* lyrics:                                Lyrics.                (line 6)
-* mailing list:                          Getting Help.          (line 6)
-* Markable Playlists:                    Markable Playlists.    (line 6)
-* mode line:                             Emms Mode Line.        (line 6)
-* mpd:                                   Music Player Daemon.   (line 6)
-* music player daemon:                   Music Player Daemon.   (line 6)
-* new player:                            New Player.            (line 6)
-* new players:                           Extending Emms.        (line 6)
-* new players, defining:                 Extending Emms.        (line 6)
-* options:                               User Variables.        (line 6)
-* organizing tracks and media:           Playlists.             (line 6)
-* players, simple:                       Simple Players.        (line 6)
-* playlist:                              Limiting.              (line 6)
-* primitive functions:                   The Core File.         (line 6)
-* primitive player:                      Simple Player for `play'.
-                                                                (line 6)
-* quick setup:                           Setup.                 (line 6)
-* remote interface:                      Music Player Daemon.   (line 6)
-* setting up Emms:                       Setup.                 (line 6)
-* setup:                                 Setup.                 (line 6)
-* simple player:                         Simple Player for `play'.
-                                                                (line 6)
-* sort:                                  Sorting Playlists.     (line 6)
-* Sources:                               Sources.               (line 6)
-* speed:                                 Finding files and speed.
-                                                                (line 6)
-* streaming audio:                       Streaming Audio.       (line 6)
-* track editor:                          Editing Tracks.        (line 6)
-* track information:                     Track Information.     (line 6)
-* track order:                           Sorting Playlists.     (line 6)
-* user variables:                        User Variables.        (line 6)
-* volume:                                Volume.                (line 6)
-* website:                               Getting Help.          (line 6)
-
-
-File: emms.info,  Node: Function Index,  Next: Variable Index,  Prev: Concept 
Index,  Up: Top
-
-Function Index
-**************
-
-[index]
-* Menu:
-
-* bury-buffer:                           Interactive Playlists.
-                                                              (line  65)
-* define-emms-simple-player:             Simple Players.      (line   6)
-* describe-mode:                         Interactive Playlists.
-                                                              (line  73)
-* describe-mode <1>:                     Browser Interface.   (line  77)
-* emms-add-directory:                    Basic Commands.      (line  26)
-* emms-add-directory-tree:               Basic Commands.      (line  32)
-* emms-add-file:                         Basic Commands.      (line  19)
-* emms-add-find:                         Basic Commands.      (line  46)
-* emms-add-playlist:                     Basic Commands.      (line  41)
-* emms-add-url:                          Basic Commands.      (line  37)
-* emms-all:                              Setup.               (line  17)
-* emms-browse-by-album:                  Browser Interface.   (line  18)
-* emms-browse-by-album <1>:              Browser Interface.   (line 107)
-* emms-browse-by-artist:                 Browser Interface.   (line  15)
-* emms-browse-by-artist <1>:             Browser Interface.   (line 104)
-* emms-browse-by-genre:                  Browser Interface.   (line  21)
-* emms-browse-by-genre <1>:              Browser Interface.   (line 110)
-* emms-browse-by-year:                   Browser Interface.   (line  24)
-* emms-browse-by-year <1>:               Browser Interface.   (line 113)
-* emms-browser-add-tracks:               Browser Interface.   (line  35)
-* emms-browser-add-tracks-and-play:      Browser Interface.   (line  32)
-* emms-browser-add-tracks-and-play <1>:  Browser Interface.   (line  83)
-* emms-browser-bury-buffer:              Browser Interface.   (line  62)
-* emms-browser-clear-playlist:           Browser Interface.   (line  53)
-* emms-browser-collapse-all:             Browser Interface.   (line  41)
-* emms-browser-expand-all:               Browser Interface.   (line  56)
-* emms-browser-expand-to-level-2:        Browser Interface.   (line  44)
-* emms-browser-expand-to-level-3:        Browser Interface.   (line  47)
-* emms-browser-expand-to-level-4:        Browser Interface.   (line  50)
-* emms-browser-goto-random:              Browser Interface.   (line  65)
-* emms-browser-lookup-album-on-pitchfork: Browser Interface.  (line 116)
-* emms-browser-lookup-album-on-wikipedia: Browser Interface.  (line 119)
-* emms-browser-next-filter:              Browser Interface.   (line  74)
-* emms-browser-next-non-track:           Browser Interface.   (line  89)
-* emms-browser-prev-non-track:           Browser Interface.   (line  86)
-* emms-browser-previous-filter:          Browser Interface.   (line  71)
-* emms-browser-search-by-album:          Browser Interface.   (line  92)
-* emms-browser-search-by-artist:         Browser Interface.   (line  95)
-* emms-browser-search-by-names:          Browser Interface.   (line  98)
-* emms-browser-search-by-title:          Browser Interface.   (line 101)
-* emms-browser-toggle-subitems:          Browser Interface.   (line  38)
-* emms-browser-view-in-dired:            Browser Interface.   (line  59)
-* emms-cache-set-from-mpd-all:           Music Player Daemon. (line  93)
-* emms-cache-set-from-mpd-directory:     Music Player Daemon. (line  89)
-* emms-cue-next:                         APE / FLAC Commands. (line  17)
-* emms-cue-previous:                     APE / FLAC Commands. (line  19)
-* emms-default-players:                  Setup.               (line  24)
-* emms-history-load:                     Persistent Playlists.
-                                                              (line  21)
-* emms-isearch-buffer:                   Browser Interface.   (line  68)
-* emms-locate:                           Sources.             (line  48)
-* emms-lyrics-disable:                   Lyrics.              (line  63)
-* emms-lyrics-enable:                    Lyrics.              (line  60)
-* emms-lyrics-start:                     Lyrics.              (line  48)
-* emms-lyrics-stop:                      Lyrics.              (line  51)
-* emms-lyrics-toggle:                    Lyrics.              (line  66)
-* emms-lyrics-toggle-display-on-minibuffer: Lyrics.           (line  54)
-* emms-lyrics-toggle-display-on-modeline: Lyrics.             (line  57)
-* emms-mark-copy-marked-tracks:          Markable Playlists.  (line  46)
-* emms-mark-delete-marked-tracks:        Markable Playlists.  (line  41)
-* emms-mark-do-with-marked-track:        Markable Playlists.  (line  54)
-* emms-mark-forward:                     Markable Playlists.  (line  25)
-* emms-mark-kill-marked-tracks:          Markable Playlists.  (line  43)
-* emms-mark-mapcar-marked-track:         Markable Playlists.  (line  60)
-* emms-mark-regexp:                      Markable Playlists.  (line  35)
-* emms-mark-toggle:                      Markable Playlists.  (line  31)
-* emms-mark-unmark-all:                  Markable Playlists.  (line  29)
-* emms-mark-unmark-forward:              Markable Playlists.  (line  33)
-* emms-metaplaylist-mode-center-current: Managing Playlists.  (line  37)
-* emms-metaplaylist-mode-goto-current:   Managing Playlists.  (line  15)
-* emms-metaplaylist-mode-kill-buffer:    Managing Playlists.  (line  34)
-* emms-metaplaylist-mode-new-buffer:     Managing Playlists.  (line  31)
-* emms-metaplaylist-mode-set-active:     Managing Playlists.  (line  18)
-* emms-metaplaylist-mode-update:         Managing Playlists.  (line  28)
-* emms-minimalistic:                     Setup.               (line  13)
-* emms-next:                             Basic Commands.      (line  59)
-* emms-next <1>:                         Interactive Playlists.
-                                                              (line  38)
-* emms-next <2>:                         Interactive Playlists.
-                                                              (line  40)
-* emms-next-noerror:                     Core Functions.      (line  11)
-* emms-pause:                            Interactive Playlists.
-                                                              (line  44)
-* emms-play-directory:                   Basic Commands.      (line  23)
-* emms-play-directory-tree:              Basic Commands.      (line  29)
-* emms-play-file:                        Basic Commands.      (line  15)
-* emms-play-find:                        Basic Commands.      (line  43)
-* emms-play-find <1>:                    Sources.             (line  15)
-* emms-play-playlist:                    Basic Commands.      (line  39)
-* emms-play-url:                         Basic Commands.      (line  35)
-* emms-player-for:                       Core Functions.      (line  49)
-* emms-player-mpd-connect:               Music Player Daemon. (line  62)
-* emms-player-mpd-disconnect:            Music Player Daemon. (line  66)
-* emms-player-mpd-show:                  Music Player Daemon. (line  69)
-* emms-player-mpd-update-all:            Music Player Daemon. (line  82)
-* emms-player-mpd-update-directory:      Music Player Daemon. (line  79)
-* emms-player-simple-sentinel:           Simple Players.      (line  21)
-* emms-player-simple-start:              Simple Players.      (line  18)
-* emms-player-simple-stop:               Simple Players.      (line  16)
-* emms-player-start:                     Core Functions.      (line  58)
-* emms-player-stop:                      Core Functions.      (line  60)
-* emms-player-stopped:                   Core Functions.      (line  62)
-* emms-playing-time-disable-display:     Emms Mode Line.      (line  42)
-* emms-playing-time-enable-display:      Emms Mode Line.      (line  39)
-* emms-playlist-current-selected-track:  Core Functions.      (line  53)
-* emms-playlist-limit-to-all:            Limiting.            (line  61)
-* emms-playlist-limit-to-description:    Limiting.            (line  31)
-* emms-playlist-limit-to-info-album:     Limiting.            (line  21)
-* emms-playlist-limit-to-info-artist:    Limiting.            (line  16)
-* emms-playlist-limit-to-info-composer:  Limiting.            (line  26)
-* emms-playlist-limit-to-info-genre:     Limiting.            (line  36)
-* emms-playlist-limit-to-info-performer: Limiting.            (line  46)
-* emms-playlist-limit-to-info-title:     Limiting.            (line  51)
-* emms-playlist-limit-to-info-year:      Limiting.            (line  56)
-* emms-playlist-limit-to-name:           Limiting.            (line  41)
-* emms-playlist-mode-add-contents:       Interactive Playlists.
-                                                              (line  32)
-* emms-playlist-mode-center-current:     Interactive Playlists.
-                                                              (line  52)
-* emms-playlist-mode-first:              Interactive Playlists.
-                                                              (line  59)
-* emms-playlist-mode-go:                 Interactive Playlists.
-                                                              (line  15)
-* emms-playlist-mode-insert-newline:     Interactive Playlists.
-                                                              (line  87)
-* emms-playlist-mode-kill:               Interactive Playlists.
-                                                              (line  83)
-* emms-playlist-mode-kill-track:         Interactive Playlists.
-                                                              (line  78)
-* emms-playlist-mode-last:               Interactive Playlists.
-                                                              (line  61)
-* emms-playlist-mode-play-current-track: Interactive Playlists.
-                                                              (line  54)
-* emms-playlist-mode-undo:               Browser Interface.   (line  80)
-* emms-playlist-mode-yank:               Interactive Playlists.
-                                                              (line  81)
-* emms-playlist-mode-yank-pop:           Interactive Playlists.
-                                                              (line  85)
-* emms-playlist-new:                     Playlists.           (line  20)
-* emms-playlist-next:                    Core Functions.      (line  17)
-* emms-playlist-previous:                Core Functions.      (line  19)
-* emms-playlist-save:                    Playlists.           (line  25)
-* emms-playlist-save <1>:                Interactive Playlists.
-                                                              (line  68)
-* emms-playlist-set-playlist-buffer:     Interactive Playlists.
-                                                              (line  36)
-* emms-playlist-sort-by-file-extension:  Sorting Playlists.   (line  29)
-* emms-playlist-sort-by-file-mtime:      Sorting Playlists.   (line  47)
-* emms-playlist-sort-by-info-album:      Sorting Playlists.   (line  20)
-* emms-playlist-sort-by-info-artist:     Sorting Playlists.   (line  14)
-* emms-playlist-sort-by-info-composer:   Sorting Playlists.   (line  41)
-* emms-playlist-sort-by-info-note:       Sorting Playlists.   (line  38)
-* emms-playlist-sort-by-info-performer:  Sorting Playlists.   (line  32)
-* emms-playlist-sort-by-info-title:      Sorting Playlists.   (line  26)
-* emms-playlist-sort-by-info-year:       Sorting Playlists.   (line  35)
-* emms-playlist-sort-by-last-played:     Sorting Playlists.   (line  23)
-* emms-playlist-sort-by-name:            Sorting Playlists.   (line  44)
-* emms-playlist-sort-by-play-count:      Sorting Playlists.   (line  17)
-* emms-previous:                         Basic Commands.      (line  61)
-* emms-random:                           Core Functions.      (line  21)
-* emms-random <1>:                       Interactive Playlists.
-                                                              (line  63)
-* emms-seek:                             Core Functions.      (line  65)
-* emms-seek-backward:                    Core Functions.      (line  71)
-* emms-seek-backward <1>:                Interactive Playlists.
-                                                              (line  48)
-* emms-seek-forward:                     Core Functions.      (line  69)
-* emms-seek-forward <1>:                 Interactive Playlists.
-                                                              (line  46)
-* emms-show:                             Basic Commands.      (line  68)
-* emms-show <1>:                         Interactive Playlists.
-                                                              (line  50)
-* emms-shuffle:                          Basic Commands.      (line  63)
-* emms-smart-browse:                     Browser Interface.   (line  10)
-* emms-sort:                             Basic Commands.      (line  66)
-* emms-source-directory:                 Sources.             (line  23)
-* emms-source-directory-tree:            Sources.             (line  26)
-* emms-source-dired:                     Sources.             (line  43)
-* emms-source-file:                      Sources.             (line  18)
-* emms-source-file-directory-tree:       Sources.             (line  41)
-* emms-source-file-regex:                Sources.             (line  45)
-* emms-source-files:                     Sources.             (line  21)
-* emms-source-find:                      Sources.             (line  38)
-* emms-source-playlist:                  Sources.             (line  29)
-* emms-source-playlist-m3u:              Sources.             (line  34)
-* emms-source-playlist-native:           Sources.             (line  32)
-* emms-source-playlist-pls:              Sources.             (line  36)
-* emms-start:                            Basic Commands.      (line  55)
-* emms-stop:                             Basic Commands.      (line  57)
-* emms-stop <1>:                         Interactive Playlists.
-                                                              (line  42)
-* emms-tag-editor-rename:                Editing Tracks.      (line  89)
-* emms-tag-editor-replace-in-tag:        Editing Tracks.      (line  32)
-* emms-tag-editor-set-all:               Editing Tracks.      (line  23)
-* emms-tag-editor-submit:                Editing Tracks.      (line  47)
-* emms-tag-editor-transpose-tag:         Editing Tracks.      (line  41)
-* emms-toggle-random-playlist:           Core Functions.      (line  29)
-* emms-toggle-repeat-playlist:           Core Functions.      (line  23)
-* emms-toggle-repeat-track:              Core Functions.      (line  26)
-* emms-track:                            Core Functions.      (line  35)
-* emms-track-description:                Core Functions.      (line  46)
-* emms-track-get:                        Core Functions.      (line  41)
-* emms-track-name:                       Core Functions.      (line  39)
-* emms-track-set:                        Core Functions.      (line  44)
-* emms-track-type:                       Core Functions.      (line  37)
-* emms-volume-lower:                     Volume.              (line  18)
-* emms-volume-mode-minus:                Volume.              (line  29)
-* emms-volume-mode-plus:                 Volume.              (line  25)
-* emms-volume-raise:                     Volume.              (line  15)
-* kill-this-buffer:                      Managing Playlists.  (line  40)
-* next-line:                             Managing Playlists.  (line  22)
-* previous-line:                         Managing Playlists.  (line  25)
-* scroll-up:                             Interactive Playlists.
-                                                              (line  57)
-
-
-File: emms.info,  Node: Variable Index,  Next: Keybinding Index,  Prev: 
Function Index,  Up: Top
-
-Variable Index
-**************
-
-[index]
-* Menu:
-
-* emms-history-file:                     Persistent Playlists.
-                                                              (line  14)
-* emms-history-start-playing:            Persistent Playlists.
-                                                              (line  33)
-* emms-info-asynchronously:              Track Information.   (line  99)
-* emms-info-auto-update:                 Track Information.   (line  94)
-* emms-info-functions:                   Track Information.   (line 105)
-* emms-lyrics-coding-system:             Lyrics.              (line  36)
-* emms-lyrics-dir:                       Lyrics.              (line  27)
-* emms-lyrics-display-format:            Lyrics.              (line  32)
-* emms-lyrics-display-on-minibuffer:     Lyrics.              (line  21)
-* emms-lyrics-display-on-modeline:       Lyrics.              (line  24)
-* emms-lyrics-scroll-p:                  Lyrics.              (line  39)
-* emms-lyrics-scroll-timer-interval:     Lyrics.              (line  42)
-* emms-player-finished-hook:             Hooks.               (line  23)
-* emms-player-list:                      User Variables.      (line   8)
-* emms-player-paused-hook:               Hooks.               (line  29)
-* emms-player-started-hook:              Hooks.               (line   9)
-* emms-player-stopped-hook:              Hooks.               (line  11)
-* emms-playlist-cleared-hook:            Hooks.               (line  19)
-* emms-playlist-selection-changed-hook:  Hooks.               (line  17)
-* emms-playlist-source-inserted-hook:    Hooks.               (line  14)
-* emms-repeat-playlist:                  User Variables.      (line  15)
-* emms-show-format:                      User Variables.      (line  11)
-* emms-sort-lessp-function:              User Variables.      (line  21)
-* emms-source-file-default-directory:    Sources.             (line  13)
-* emms-tag-editor-formats:               Editing Tracks.      (line  55)
-* emms-tag-editor-rename-format:         Editing Tracks.      (line  73)
-* emms-tag-editor-tagfile-functions:     Editing Tracks.      (line  63)
-* emms-track-description-function:       User Variables.      (line  19)
-* emms-volume-change-amount:             Volume.              (line   9)
-* emms-volume-mode-timeout:              Volume.              (line  42)
-
-
-File: emms.info,  Node: Keybinding Index,  Prev: Variable Index,  Up: Top
-
-Keybinding Index
-****************
-
-[index]
-* Menu:
-
-* / (emms-browser):                      Browser Interface.   (line  68)
-* / /:                                   Limiting.            (line  61)
-* / a:                                   Limiting.            (line  16)
-* / b:                                   Limiting.            (line  21)
-* / c:                                   Limiting.            (line  26)
-* / d:                                   Limiting.            (line  31)
-* / g:                                   Limiting.            (line  36)
-* / n:                                   Limiting.            (line  41)
-* / p:                                   Limiting.            (line  46)
-* / t:                                   Limiting.            (line  51)
-* / y:                                   Limiting.            (line  56)
-* 1 (emms-browser):                      Browser Interface.   (line  41)
-* 2 (emms-browser):                      Browser Interface.   (line  44)
-* 3 (emms-browser):                      Browser Interface.   (line  47)
-* 4 (emms-browser):                      Browser Interface.   (line  50)
-* < (emms-browser):                      Browser Interface.   (line  71)
-* <backtab> (emms-browser):              Browser Interface.   (line  86)
-* <C-return> (emms-browser):             Browser Interface.   (line  83)
-* <tab> (emms-browser):                  Browser Interface.   (line  89)
-* > (emms-browser):                      Browser Interface.   (line  74)
-* ? (emms-browser):                      Browser Interface.   (line  77)
-* b 1 (emms-browser):                    Browser Interface.   (line 104)
-* b 2 (emms-browser):                    Browser Interface.   (line 107)
-* b 3 (emms-browser):                    Browser Interface.   (line 110)
-* b 4 (emms-browser):                    Browser Interface.   (line 113)
-* C:                                     Managing Playlists.  (line  31)
-* c:                                     Managing Playlists.  (line  37)
-* C (emms-browser):                      Browser Interface.   (line  53)
-* C-/ (emms-browser):                    Browser Interface.   (line  80)
-* C-j (emms-browser):                    Browser Interface.   (line  32)
-* C-k:                                   Managing Playlists.  (line  34)
-* d (emms-browser):                      Browser Interface.   (line  59)
-* E (emms-browser):                      Browser Interface.   (line  56)
-* g:                                     Managing Playlists.  (line  28)
-* n:                                     Managing Playlists.  (line  22)
-* p:                                     Managing Playlists.  (line  25)
-* q:                                     Managing Playlists.  (line  40)
-* q (emms-browser):                      Browser Interface.   (line  62)
-* r (emms-browser):                      Browser Interface.   (line  65)
-* RET:                                   Managing Playlists.  (line  15)
-* RET (emms-browser):                    Browser Interface.   (line  35)
-* s A (emms-browser):                    Browser Interface.   (line  92)
-* s a (emms-browser):                    Browser Interface.   (line  95)
-* s s (emms-browser):                    Browser Interface.   (line  98)
-* s t (emms-browser):                    Browser Interface.   (line 101)
-* SPC:                                   Managing Playlists.  (line  18)
-* SPC (emms-browser):                    Browser Interface.   (line  38)
-* W a p (emms-browser):                  Browser Interface.   (line 116)
-* W a w (emms-browser):                  Browser Interface.   (line 119)
-
-
-
-Tag Table:
-Node: Top701
-Node: Introduction4336
-Node: Quickstart Guide5804
-Node: Installation8677
-Node: Compiling Emms9226
-Node: Setup9914
-Node: Configuration10900
-Node: Finding files and speed12375
-Node: Setup Examples13244
-Node: Getting Help15177
-Node: Formats and Freedom15755
-Node: Basic Commands16960
-Node: The Core File20341
-Node: User Variables20775
-Node: Hooks21751
-Node: Core Functions23177
-Node: Sources26177
-Node: Simple Players28310
-Node: Playlists29367
-Node: Track Information30648
-Node: Metadata Utilities35358
-Node: Defining Info Methods40030
-Node: Interactive Playlists42174
-Node: Markable Playlists45216
-Node: Extending Emms47687
-Node: New Player48123
-Node: Simple Player for `play'48512
-Node: More Complex Player50240
-Node: The Browser53247
-Node: Browser Interface54223
-Node: Filtering Tracks56637
-Node: Displaying Covers58415
-Node: Changing Looks60429
-Node: Sorting Playlists63407
-Node: Persistent Playlists64876
-Node: Editing Tracks66035
-Node: Emms Mode Line69709
-Node: Limiting71152
-Node: Music Player Daemon73491
-Node: Lyrics77004
-Node: Volume79052
-Node: Streaming Audio80840
-Ref: Streaming Audio-Footnote-181432
-Node: APE / FLAC Commands81783
-Node: Bookmarks82490
-Node: Managing Playlists83201
-Node: GNU FM84224
-Node: Uploading Track Information85578
-Node: GNU FM Streaming86460
-Node: Copying86960
-Node: The GNU FDL124477
-Node: Concept Index146865
-Node: Function Index151723
-Node: Variable Index167415
-Node: Keybinding Index169884
-
-End Tag Table



reply via email to

[Prev in Thread] Current Thread [Next in Thread]