diff options
| author | Yoni Rabkin <yrk@gnu.org> | 2015-12-10 18:22:37 -0500 | 
|---|---|---|
| committer | Yoni Rabkin <yrk@gnu.org> | 2015-12-10 18:22:37 -0500 | 
| commit | d3ef182013df50b411d9927715444401b4c64504 (patch) | |
| tree | 529a1f1e826f126053041cb16e0d679f56ced199 | |
| parent | 0cd9cd79678c3bb21d97764bf1d75fabd4dd75c5 (diff) | |
* doc/emms.texinfo: Reorganize.
Move the Quickstart Guide chapter to the very beginning and re-write it
to be the tl;dr of the manual.
| -rw-r--r-- | doc/emms.texinfo | 509 | 
1 files changed, 259 insertions, 250 deletions
diff --git a/doc/emms.texinfo b/doc/emms.texinfo index 8de7649..a50265e 100644 --- a/doc/emms.texinfo +++ b/doc/emms.texinfo @@ -49,10 +49,10 @@ This is the Manual for the Emacs Multimedia System.  @menu  Starting out  * Introduction::        Introduction to Emms. +* Quickstart Guide::    First steps with Emms for new users.  * Installation::        How to install Emms on your System. -* Simple Setup::        Quick, basic default Emms setup. +* Setup::               How to setup Emms.  * Configuration::       More detailed setup and configuration. -* Quickstart Guide::    First steps with EMMS for new users.  * Getting Help::        Where to get help with Emms and make suggestions.  * Formats and Freedom:: File formats without restrictions. @@ -67,6 +67,7 @@ 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. @@ -75,13 +76,12 @@ Modules and Extensions  * Editing Tracks::       Editing track information from within Emms.  * Emms Mode Line::       Emms information on the mode line.  * Music Player Daemon::  Interface to Music Player Daemon. -* Streaming Audio::      Interface to streaming audio.  * 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.  * GNU FM::               Connect to music community websites. -* Extending Emms::       How to define new players and modules.  Copying and license  * Copying::             The GNU General Public License gives you permission to @@ -122,7 +122,7 @@ Extending Emms  @end ifnottex - +@c -------------------------------------------------------------------  @node Introduction  @chapter Introduction @@ -155,11 +155,86 @@ When Emms finally has the sources in the playlist, it needs a player  to play them. @file{emms-player-simple.el} defines a few useful players, and  allows you to define your own in a very simple way. +The Emms core comes with many additional features to extend its +functionality. +  The way Emms works is easy to customize with your own code or by using -`M-x customize'. +`M-x customize' or by changing the variables directly. + + +@c ------------------------------------------------------------------- +@node Quickstart Guide +@chapter 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 have to do is telling Emacs where Emms is +located. Let's say you have it in @file{~/elisp/emms/}. So add this +line to your @file{.emacs}: +@lisp +(add-to-list 'load-path "~/elisp/emms/lisp/") +@end lisp + +More detailed information about installing Emms can be found in the +installation chapter, @xref{Installation}. + +You'll then want to load Emms into Emacs. To achieve this you invoke +the @code{emms-all} setup function by adding the following three lines +to your @file{.emacs}. + +@lisp +(require 'emms-setup) +(emms-all) +(emms-default-players) +@end lisp + +The function @code{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, 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, +@xref{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 libtag, +see @xref{Using TagLib}, or a combination of `mp3info' and `ogginfo' +(make sure that they are installed if you want Emms to use them.) + +The last thing to do is to tell Emms where your music is; the root +directory of our music collection. Let's say all your music is in +@file{~/Music} or in subdirectories thereof. + +@lisp +(setq emms-source-file-default-directory "~/Music/") +@end lisp + +OK, now we've set up Emms. Reload your @file{.emacs} or restart Emacs to +let the changes have an effect. + +Now we will add all our music to a playlist by invoking @kbd{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 (this +is also required for the Emms browser, @xref{The Browser}.) + +To switch to the playlist buffer, invoke @kbd{M-x emms-playlist-mode-go} +or simply @kbd{M-x emms}. You can see that most tracks are displayed +with their file name, but track by track the filename gets replaced with +the artist and track name of the file's tag. + +Go ahead and navigate to a track and hit @kbd{RET} on it to start +playback. + +Now you can start exploring Emms. It's probably best to begin with the +basic commands (@pxref{Basic Commands}), the interactive playlists +(@pxref{Interactive Playlists}), and the browser (@pxref{The Browser}). +@c -------------------------------------------------------------------  @node Installation  @chapter Installation @@ -209,11 +284,11 @@ Note that Emms is a light-weight and agile program, you can therefore  run Emms just fine without byte compiling it. +@c ------------------------------------------------------------------- +@node Setup +@chapter Setup -@node Simple Setup -@chapter Simple Setup - -@cindex simple setup +@cindex setup  @cindex setting up Emms  @cindex quick setup @@ -279,7 +354,7 @@ functions like the above by looking at the existing function  definitions in @file{emms-setup.el}. - +@c -------------------------------------------------------------------  @node Configuration  @chapter Configuration @@ -349,78 +424,7 @@ The method Emms will use is defined in the customisable variable  @var{emms-source-file-directory-tree-function}. - -@node Quickstart Guide -@chapter 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. - -The first thing you have to do is telling Emacs where the sources of -EMMS are located. Let's say you have them in @file{~/elisp/emms/}. So -add this line to your @file{.emacs}. - -@lisp -(add-to-list 'load-path "~/elisp/emms/lisp/") -@end lisp - -Further informations about installing EMMS can be found in the -installation chapter, @xref{Installation}. - -Let's say you want to enable all features which are considered stable by -the EMMS developers. To achieve this you invoke the @code{emms-all} -setup function by adding the following three lines to your @file{.emacs}. - -@lisp -(require 'emms-setup) -(emms-all) -(emms-default-players) -@end lisp - -The function @code{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 like -mplayer or xine. To be sure that emms can play all your music you should -check that the needed players are installed. - -Further informations about the several setup scripts can be found in the -simple setup chapter, @xref{Simple Setup}. - -Of course EMMS tries to display the tags of the music files you listen -to. For this to work you have to make sure that the appropriate programs -are installed. For mp3 files you need `mp3info', and for ogg files you -need `ogginfo'. - -The last thing to do is to tell EMMS the root directory of our music -collection. Let's say all your music is in @file{~/Music} or in -subdirectories thereof. - -@lisp -(setq emms-source-file-default-directory "~/Music/") -@end lisp - -OK, now we've set up EMMS. Reload your @file{.emacs} or restart Emacs to -let the changes have an effect. - -Now we will add all our music to a playlist by invoking @kbd{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 cache them. This is -required for the browser, @xref{The Browser}. - -To switch to the playlist buffer, invoke @kbd{M-x emms-playlist-mode-go} -or simply @kbd{M-x emms}. You can see that most tracks are displayed -with their file name, but track by track the filename gets replaced with -the artist and track name of the file's tag. - -Hit @kbd{RET} on a track to start playback. - -Now you can start exploring EMMS. It's probably best to begin with the -basic commands (@pxref{Basic Commands}), the interactive playlists -(@pxref{Interactive Playlists}), and the browser (@pxref{The Browser}). - - - +@c -------------------------------------------------------------------  @node Getting Help  @chapter Getting Help @@ -438,7 +442,7 @@ which mirrors this mailing address at gmane.emacs.emms.user.  Emms also has a website at @url{http://www.gnu.org/software/emms/}. - +@c -------------------------------------------------------------------  @node Formats and Freedom  @chapter Formats and Freedom @@ -467,7 +471,7 @@ code for a reference implementation freely available. For more  information about FLAC, go to @url{http://flac.sourceforge.net/}. - +@c -------------------------------------------------------------------  @node Basic Commands  @chapter Basic Commands @@ -563,7 +567,7 @@ function uses @var{emms-show-format} to format the current track.  @end defun - +@c -------------------------------------------------------------------  @node The Core File  @chapter The Core File @@ -753,7 +757,7 @@ For more basic commands defined in the core file see @xref{Basic  Commands}. - +@c -------------------------------------------------------------------  @node Sources  @chapter Sources @@ -789,17 +793,17 @@ An Emms source for multiple directory trees - either @var{dir}, or the  value of @var{emms-source-file-default-directory}.  @end defun  @defun emms-source-playlist file -An EMMS source for playlists.  See @var{emms-source-playlist-formats} +An Emms source for playlists.  See @var{emms-source-playlist-formats}  for a list of supported formats.  @end defun  @defun emms-source-playlist-native file -An EMMS source for a native EMMS playlist file. +An Emms source for a native Emms playlist file.  @end defun  @defun emms-source-playlist-m3u file -An EMMS source for an m3u playlist file. +An Emms source for an m3u playlist file.  @end defun  @defun emms-source-playlist-pls file -An EMMS source for a pls playlist file. +An Emms source for a pls playlist file.  @end defun  @defun emms-source-find &optional dir regex  An Emms source that will find files in @var{dir} or @@ -820,7 +824,7 @@ Search for @var{regexp} and display the results in a locate buffer  @end defun - +@c -------------------------------------------------------------------  @node Simple Players  @chapter Simple Players @@ -851,7 +855,7 @@ and the sentinel string @var{str}.  @end defun - +@c -------------------------------------------------------------------  @node Playlists  @chapter Playlists @@ -887,7 +891,7 @@ The current Emms playlist buffer is stored in the variable  @var{emms-playlist-buffer}. - +@c -------------------------------------------------------------------  @node Track Information  @chapter Track Information @@ -910,7 +914,7 @@ of @uref{http://taglib.github.io/, TagLib}.  Automatic track information retrieval is enabled by default in the  `emms-standard', `emms-all' and `emms-devel' setup levels provided by  @file{emms-setup.el}. For more information about @file{emms-setup.el} -see @xref{Simple Setup}. +see @xref{Setup}.  If you would like to know how Emms track retreival works and how we  can define new methods for track retrieval see @xref{Defining Info @@ -994,7 +998,7 @@ the right time to provide track info.  @end lisp - +@c -------------------------------------------------------------------  @node Interactive Playlists  @chapter Interactive Playlists @@ -1007,13 +1011,13 @@ interactive mode is called the `emms-playlist-mode' and is defined in  The interactive playlist mode is enabled by default in the  `emms-standard', `emms-all' and `emms-devel' setup levels. For more -information about Emms setup levels see @xref{Simple Setup}. +information about Emms setup levels see @xref{Setup}.  @defun emms-playlist-mode-go  Switch to the current emms-playlist buffer and use emms-playlist-mode.  @end defun -If you wish to make this the default EMMS playlist mode, add the +If you wish to make this the default Emms playlist mode, add the  following to your @file{.emacs}.  @lisp @@ -1120,7 +1124,7 @@ program and can therefore be used to include titles and annotations  within the playlist. - +@c -------------------------------------------------------------------  @node Markable Playlists  @chapter Markable Playlists @@ -1142,7 +1146,7 @@ executing @command{M-x emms-mark-mode} in a playlist buffer. You can  return to the default interactive playlist mode with @command{M-x  emms-mark-mode-disable}. -If you wish to make this the default EMMS playlist mode, add the +If you wish to make this the default Emms playlist mode, add the  following to your @file{.emacs}.  @lisp @@ -1207,139 +1211,7 @@ except it collects result of given function (that's why named with -@node APE / FLAC Commands -@chapter APE / FLAC Commands - -Often, a single APE or FLAC file contains a complete ablum.  We can still -play next or previous track in the ablum with the help of -@file{emms-cue.el} package, provided there is a corresponding cue sheet -file.  This package also defines @code{emms-info-cueinfo} for retreiving -the track information for APE / FLAC itself. - -To load @file{emms-cue.el}: - -@lisp -(require 'emms-cue) -(add-to-list 'emms-info-functions 'emms-info-cueinfo) -@end lisp - -@defun emms-cue-next -Play next track from .cue file -@end defun -@defun emms-cue-previous -Play previous track from .cue file -@end defun - - - -@node Bookmarks -@chapter Bookmarks - -Emms can save a ``temporal bookmark'' in a media file via -emms-bookmarks. The file @file{emms-bookmarks.el} provides the package -emms-bookmarks. - -While some media is playing, invoking @kbd{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 -@kbd{M-x emms-bookmarks-next} and @kbd{M-x emms-bookmarks-prev} -respectively. - -To clear all of the bookmarks for the current track invoke @kbd{M-x -emms-bookmarks-clear}. - - - -@node GNU FM -@chapter GNU FM - -@cindex GNU FM - -@url{https://www.gnu.org/software/gnufm/, GNU FM} is free software for -running music community websites. It was created for the music -community site, @url{http://libre.fm/, Libre.fm}. - -Emms can send track information, and stream music from GNU FM servers -using @file{emms-librefm-scrobbler.el} and -@file{emms-librefm-stream.el}, respectively. - -Emms is configured by default to use @url{http://libre.fm/, Libre.fm}, -but can work with any GNU FM server by configuring the variable -@var{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 @file{~/.authinfo.gpg}, as: -@smallexample -machine libre.fm login USERNAME password PASSWORD -@end smallexample -If you are using some other server than libre.fm, change -``@samp{libre.fm}'' to match -@var{emms-librefm-scrobbler-handshake-url}. - -Alternatively, you can save the password in plaintext in your init-file -by setting these variables: - -@lisp -(setq emms-librefm-scrobbler-username "USERNAME" -      emms-librefm-scrobbler-password "PASSWORD") -@end lisp - -@menu -* Uploading Track Information:: How to submit listened track information. -* GNU FM Streaming:: Streaming music from a GNU FM server. -@end menu - - - -@node Uploading Track Information -@section 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: - -@lisp -(require 'emms-librefm-scrobbler) -@end lisp - -This feature can also be enabled via @xref{Simple Setup}, in the -`emms-devel' setup level. - -Enable uploading the details of the tracks Emms plays to the GNU FM -server with @kbd{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 @kbd{emms-librefm-scrobbler-disable}. - - - - -@node GNU FM Streaming -@section GNU FM Streaming - -If the GNU FM server provides a streaming music service you can take -advantage of it by loading: - -@lisp -(require 'emms-librefm-stream) -@end lisp - -This feature can also be enabled via @xref{Simple Setup}, in the -`emms-devel' setup level. - -Then invoke @kbd{emms-librefm-stream} and enter the URL of the station -you wish to listen to, for example ``librefm://globaltags/Classical''. - - - - +@c -------------------------------------------------------------------  @node Extending Emms  @chapter Extending Emms @@ -1512,6 +1384,7 @@ Now we have a ready player and we could add commands like +@c -------------------------------------------------------------------  @node The Browser  @chapter The Browser @@ -1520,7 +1393,7 @@ your playlist. It includes a powerful interactive mode.  The Browser is defined in @file{emms-browser.el} and is included in  the @command{emms-all} setup level. For more information about Emms -setup levels see @xref{Simple Setup}. +setup levels see @xref{Setup}.  You can also manually add the Browser to your Emms setup by loading it  explicitly with: @@ -1920,7 +1793,7 @@ initial "info-" part. For example, to change the artist face, type M-x  @command{customize-face} @command{emms-browser-artist-face}. - +@c -------------------------------------------------------------------  @node Sorting Playlists  @chapter Sorting Playlists @@ -1960,7 +1833,7 @@ Sort playlist by notes in ascending order.  @end defun - +@c -------------------------------------------------------------------  @node Persistent Playlists  @chapter Persistent Playlists @@ -2004,7 +1877,7 @@ If non-nil emms starts playing the current track after  @end defopt - +@c -------------------------------------------------------------------  @node Editing Tracks  @chapter Editing Tracks @@ -2017,13 +1890,13 @@ as `mp3info', `vorbiscomment'.  Use the keybinding @kbd{E} to edit the tags of track under point in the  playlist or all marked tracks (@pxref{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 +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  @kbd{C-c C-c} (which calls @code{emms-tag-editor-submit-and-exit}) to -submit the changes and close the `*EMMS-TAGS*' buffer. +submit the changes and close the `*Emms-TAGS*' buffer.  There are a few commands to perform changes on all tracks. @@ -2108,7 +1981,7 @@ according to the value of @code{emms-tag-editor-rename-format}.  @end defun - +@c -------------------------------------------------------------------  @node Emms Mode Line  @chapter Emms Mode Line @@ -2154,7 +2027,7 @@ Remove playing time from mode line.  @end defun - +@c -------------------------------------------------------------------  @node Music Player Daemon  @chapter Music Player Daemon @@ -2166,7 +2039,7 @@ Emms provides an interface to the @uref{http://www.musicpd.org/, Music  Player Daemon}(MusicPD) software. The package is called `emms-player-mpd' and  is provided by the file @file{emms-player-mpd.el}. -The advantages of using MusicPD as an EMMS backend include the +The advantages of using MusicPD as an Emms backend include the  following.  @itemize @bullet @@ -2221,7 +2094,7 @@ sufficient for most uses.  Once you've done the above, run the @kbd{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. +should then be accessible via the Emms browser.  You can set @var{emms-player-mpd-sync-playlist} to nil if your master  Emms playlist contains only stored playlists. @@ -2238,7 +2111,7 @@ Terminate the MusicPD client process and disconnect from MusicPD.  @end defun  @defun emms-player-mpd-show &optional insertp -Describe the current EMMS track in the minibuffer. If INSERTP is +Describe the current Emms track in the minibuffer. If INSERTP is  non-nil, insert the description into the current buffer instead. This  function uses @var{emms-show-format} to format the current track. It  differs from @command{emms-show} in that it asks MusicPD for the @@ -2259,12 +2132,12 @@ the MusicPD database.  @subsubheading emms-cache.el integration  @defun emms-cache-set-from-mpd-directory dir -Dump all MusicPD data from DIR into the EMMS cache. +Dump all MusicPD data from DIR into the Emms cache.  This is useful to do when you have recently acquired new music.  @end defun  @defun emms-cache-set-from-mpd-all -Dump all MusicPD data into the EMMS cache. +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.  @end defun @@ -2279,7 +2152,7 @@ To activate this, add the following to your .emacs.  @end lisp - +@c -------------------------------------------------------------------  @node Lyrics  @chapter Lyrics @@ -2365,7 +2238,7 @@ Toggle displaying Emms lyrics.  @end defun - +@c -------------------------------------------------------------------  @node Volume  @chapter Volume @@ -2422,9 +2295,11 @@ value. So instead of pressing @kbd{C-c +} six times to increase volume  by six steps of @code{emms-volume-change-amount}, you would simply type  @kbd{C-c + + + + + +}. -EMMS can change volume with amixer, mpd, PulseAudio out of the box, see +Emms can change volume with amixer, mpd, PulseAudio out of the box, see  @var{emms-volume-change-function}. + +@c -------------------------------------------------------------------  @node Streaming Audio  @chapter Streaming Audio @@ -2442,7 +2317,7 @@ invoking:  The Emms interface for streaming audio is enabled by default in the  `emms-all' and `emms-devel' setup levels. For more information about -Emms setup levels see @xref{Simple Setup}. +Emms setup levels see @xref{Setup}.  Enter the emms-streams interface by invoking @kbd{M-x}  @command{emms-streams}. The emms-streams interface comes with a @@ -2507,6 +2382,140 @@ bookmark under point. Note that this will only work if the  `emms-stream-info' has already been loaded.  @end table +@c ------------------------------------------------------------------- +@node APE / FLAC Commands +@chapter APE / FLAC Commands + +Often, a single APE or FLAC file contains a complete ablum.  We can still +play next or previous track in the ablum with the help of +@file{emms-cue.el} package, provided there is a corresponding cue sheet +file.  This package also defines @code{emms-info-cueinfo} for retreiving +the track information for APE / FLAC itself. + +To load @file{emms-cue.el}: + +@lisp +(require 'emms-cue) +(add-to-list 'emms-info-functions 'emms-info-cueinfo) +@end lisp + +@defun emms-cue-next +Play next track from .cue file +@end defun +@defun emms-cue-previous +Play previous track from .cue file +@end defun + + + +@c ------------------------------------------------------------------- +@node Bookmarks +@chapter Bookmarks + +Emms can save a ``temporal bookmark'' in a media file via +emms-bookmarks. The file @file{emms-bookmarks.el} provides the package +emms-bookmarks. + +While some media is playing, invoking @kbd{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 +@kbd{M-x emms-bookmarks-next} and @kbd{M-x emms-bookmarks-prev} +respectively. + +To clear all of the bookmarks for the current track invoke @kbd{M-x +emms-bookmarks-clear}. + + +@c ------------------------------------------------------------------- +@node GNU FM +@chapter GNU FM + +@cindex GNU FM + +@url{https://www.gnu.org/software/gnufm/, GNU FM} is free software for +running music community websites. It was created for the music +community site, @url{http://libre.fm/, Libre.fm}. + +Emms can send track information, and stream music from GNU FM servers +using @file{emms-librefm-scrobbler.el} and +@file{emms-librefm-stream.el}, respectively. + +Emms is configured by default to use @url{http://libre.fm/, Libre.fm}, +but can work with any GNU FM server by configuring the variable +@var{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 @file{~/.authinfo.gpg}, as: +@smallexample +machine libre.fm login USERNAME password PASSWORD +@end smallexample +If you are using some other server than libre.fm, change +``@samp{libre.fm}'' to match +@var{emms-librefm-scrobbler-handshake-url}. + +Alternatively, you can save the password in plaintext in your init-file +by setting these variables: + +@lisp +(setq emms-librefm-scrobbler-username "USERNAME" +      emms-librefm-scrobbler-password "PASSWORD") +@end lisp + +@menu +* Uploading Track Information:: How to submit listened track information. +* GNU FM Streaming:: Streaming music from a GNU FM server. +@end menu + + + +@node Uploading Track Information +@section 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: + +@lisp +(require 'emms-librefm-scrobbler) +@end lisp + +This feature can also be enabled via @xref{Setup}, in the +`emms-devel' setup level. + +Enable uploading the details of the tracks Emms plays to the GNU FM +server with @kbd{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 @kbd{emms-librefm-scrobbler-disable}. + + + + +@node GNU FM Streaming +@section GNU FM Streaming + +If the GNU FM server provides a streaming music service you can take +advantage of it by loading: + +@lisp +(require 'emms-librefm-stream) +@end lisp + +This feature can also be enabled via @xref{Setup}, in the +`emms-devel' setup level. + +Then invoke @kbd{emms-librefm-stream} and enter the URL of the station +you wish to listen to, for example ``librefm://globaltags/Classical''. + + +  @c including the relevant licenses  @include gpl.texi  @include fdl.texi  | 
