* lisp/emms-lastfm-scrobbler.el: Remove debugging code.
* lisp/emms-lastfm-scrobbler.el: Add requirement.

This will reduce the number of warnings as to free variable references
during compilation.
* lisp/emms-lastfm-client.el: Remove unnecessary requirements.

This also resolves a compile error.
Add support for disc-number sorting of FLAC files.

Patch from Christophe Rhodes <csr21@cantab.net>.
* lisp/emms-browser.el: Fix bug in use of compare-strings.

The standard use of compare-strings in this manner is (eq
t (compare-st...)).
* lisp/emms-player-mpd.el (emms-player-mpd-get-supported-regexp):
extend the supported formats scanning to the new (0.17) output of `mpd
--version', keeping the previous scanners for earlier versions.  We
include not only file extensions, but also supported network
protocols, which are also reported by mpd.

Patch by Jose Antonio Ortega Ruiz <jao@gnu.org>
* lisp/emms-history.el: Don't set `kill-emacs-hook' on noninteractive sessions.

From Emacs 24.1, `kill-emacs-hook' is ran even in batch mode (commit
1e5ffe30b3f7682ee8467e7694b5f63371e31cf9). As a consequence, upon
Debian package installation, byte compilation fails at the end as
/root/.emacs.d/emms/ does not exist and should not be created neither.
Remove emms-playlist-sort-by-score from documentation.

Followup of f57b1526ff9219b70f6de29b5808257750b2ae0c.
Support both XEmacs and Emacs to highlight playing lyrics.

* lisp/emms-compat.el: support highlighting for both XEmacs (highlight) and
  Emacs (hl-line).

* lisp/emms-lyrics.el: use compatibility functions defined in emms-compat.el.
Rename too generic name generate-autoloads to emms-generate-autoloads.

* lisp/emms-auto.in/emms-generate-autoloads: rename from generate-autoloads.

* Makefile: call emms-generate-autoloads rather than generate-autoloads.
Makefile: add missing $(CPPFLAGS) to compiler.
* src/emms-print-metadata.pl: New implementation to read most (if not all) tags using a single program, with the help of Audio::Scan (see http://search.cpan.org/~agrundma/Audio-Scan-0.93/lib/Audio/Scan.pm).
Play tracks randomly

[[PGP Signed Part:No public key for 137354772B651894 created at 2013-05-10T19:49:58+0200 using RSA]]
Yoni Rabkin <yoni@rabkins.net> writes:

> Daimrod <daimrod@gmail.com> writes:
>
>> Yoni Rabkin <yoni@rabkins.net> writes:
>>
>>> Daimrod <daimrod@gmail.com> writes:
>>>
>>>> Hello,
>>>>
>>>> I've attached a small patch which adds `emms-toggle-random-playlist'. It
>>>> sets `emms-player-next-function' to either `emms-next-noerror' or
>>>> `emms-random'.
>>>
>>> How is this different from running M-x emms-shuffle on the playlist?
>>
>> I agree they're close, but this one doesn't shuffle the playlist and it
>> persists when the playlist is changed.
>
> I certainly have no problem with it; I was just making sure you were
> aware of emms-shuffle.
>
> If Lucas is fine with installing it (I don't think it needs assignment
> papers) I would ask that you please also send in a patch to the manual
> documenting this change.

I have already made a copyright assignment for Emacs and I have no
problem to do it for EMMS if it is required.

I've attached the patch with the documentation.

[2. text/x-diff; 0001-New-command-to-play-the-tracks-randomly.patch]

From b03cb56436a598a953fa49b456a88630f319b644 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9goire=20Jadi?= <gregoire.jadi@gmail.com>
Date: Fri, 10 May 2013 19:44:59 +0200
Subject: [PATCH] New command to play the tracks randomly

* lisp/emms.el (emms-random-playlist): An option to determine whether the
tracks are played randomly or sequentially.
(emms-toggle-random-playlist): Trigger the previous option and set
`emms-play-next-function' accordingly.
* doc/emms.texinfo(Core Functions): Document`emms-toggle-random-playlist'.
Play tracks randomly

[[PGP Signed Part:Undecided]]
Lucas Bonnet <lucas@rincevent.net> writes:

> Yoni Rabkin <yoni@rabkins.net> writes:
>
>> Daimrod <daimrod@gmail.com> writes:
>>
>>> Yoni Rabkin <yoni@rabkins.net> writes:
>>>
>>>> Daimrod <daimrod@gmail.com> writes:
>>>>
>>>>> Hello,
>>>>>
>>>>> I've attached a small patch which adds `emms-toggle-random-playlist'. It
>>>>> sets `emms-player-next-function' to either `emms-next-noerror' or
>>>>> `emms-random'.
>>>>
>>>> How is this different from running M-x emms-shuffle on the playlist?
>>>
>>> I agree they're close, but this one doesn't shuffle the playlist and it
>>> persists when the playlist is changed.
>>
>> I certainly have no problem with it; I was just making sure you were
>> aware of emms-shuffle.
>>
>> If Lucas is fine with installing it (I don't think it needs assignment
>> papers) I would ask that you please also send in a patch to the manual
>> documenting this change.
>
> I'd say it's small enough to fly below the copyright papers radar :)
>
> Thanks for your patch!
>
> Regards,

Oops, there is a small typo in the patch, here is the fix. Sorry for the
inconvenience.

[2. text/x-diff; 0001-lisp-emms.el-emms-toggle-random-playlist-Fix-typo-in.patch]

From 33041798b58d68f76cd8006915bb153a94769e9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9goire=20Jadi?= <gregoire.jadi@gmail.com>
Date: Thu, 30 May 2013 14:07:58 +0200
Subject: [PATCH] lisp/emms.el (emms-toggle-random-playlist): Fix typo in code

* lisp/emms.el (emms-toggle-random-playlist): Fix typo in code.
(emms-lyrics-set-timer): Don't repeat lyrics already displayed when
resumed.

When resuming from a paused session, played lyrics timers will have a
negative time, but timer-duration is so nice to convert it as
positive, thus messing lyrics display.  Check the `time' to fix.

Thanks to Ian D.
* lisp/emms-score.el: Stop `emms-score-load-hash' from reading empty score file.

Reads the score file into a string, then only proceeds if the string
is not empty.  I ran it myself, and appears to be working correctly.

Thanks to Ian D.
* doc/emms.texinfo: Close @defun statement.
* doc/gpl.texi: Fix compilation under texinfo 5.1

The "@enumerate 0" for the "TERMS AND CONDITIONS" section should
finish before the "END OF TERMS AND CONDITIONS" heading.  The "@end
enumerate" line is currently in the wrong place, so move it.

Fix thanks to Katherine Whitlock.
* lisp/emms-streams.el: Fix compilation error; update obsolete variable.
* lisp/emms-info-libtag.el: Added mp4, m4a to the extensions handled by emms-info-libtag

Patch thanks to Mandar Mitra.