Steven Arntson | 31 Mar 07:19 2014

lyrics

Hello, I'm a new emms user. I'm coming from some time using ncmpcpp,
which had a lyrics function that automatically queried various online
lyrics providers.

I notice that emms has some lyrics-finding functionality, but am not sure how it works. Does it query
websites, or is it based on a
local file of lyrics?

Thank you!
steven arntson

Yoni Rabkin | 26 Mar 18:21 2014
Picon

last.fm end of life, libre.fm coming soon


last.fm have announced upcoming changes in which they will end their
streaming services (outside of their own last.fm player).

I will be removing last.fm support entirely from emms.

libre.fm support for both streaming and scrobbing will be complete soon
and will be added to the main repo ASAP.

Sometime after that we'll start moving toward a 4.0 release.

--

-- 
   "Cut your own wood and it will warm you twice"

David Thompson | 5 Mar 03:50 2014

[BUG] MPD off-by-one error in playlist

Hello,

I am writing here at the request of yrk to describe the problem that I
have had when using EMMS with the MPD backend.

I haven't been able to consistently reproduce this bug, but often enough
I find myself in a situation where EMMS is always playing the track
*after* the one I really want in the playlist.  When my cursor is over
the first song in the playlist buffer and I press the play key, the
second song plays instead.

Someone on #emacs also mentioned this same issue so I know that I'm not
the only one affected.

I would hunt the bug myself, but I'm short on time and familiarity with
the EMMS source.

Have I left out any important details?

- Dave

Daniel Dehennin | 12 Jan 14:01 2014

“emms-source-file-directory-tree-find” does not handle symlinks

Hello,

I'm starting to use git-annex[1] to manage my music repository and I
found that git-annex managed files are not loaded by
“emms-add-directory-tree”.

I set:

    (setq emms-source-file-directory-tree-function 'emms-source-file-directory-tree-find)

Using “emms-source-file-directory-tree-internal” works.

The problem comes from the options passed to “find”, it looks for
“files” and git-annex use symlinks to its key/value storage.

I made the following patch to make it working:

#+begin_src diff
diff --git a/lisp/emms-source-file.el b/lisp/emms-source-file.el
index 91cd466..12541d5 100644
--- a/lisp/emms-source-file.el
+++ b/lisp/emms-source-file.el
 <at>  <at>  -227,6 +227,8  <at>  <at>  may be supplied using `emms-source-file-gnu-find'."
                   nil t nil
                   (expand-file-name dir)
                   "-type" "f"
+		  "-o"
+		  "-type" "l"
                   "-iregex" (concat ".*\\(" regex "\\).*"))
     (delete ""
(Continue reading)

Daniel Dehennin | 12 Jan 13:19 2014

Error when renaming track

Hello,

I tagged a bunch of files and try to run “emms-tag-editor-rename” and
get the following message:

    emms-tag-editor-apply: Symbol's function definition is void: nil

But the file is renamed.

Regards.

EMMS: version 20131016.932 from MELPA.
GNU Emacs 24.3.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.6) of 2014-01-01 on prometheus, modified by Debian

--

-- 
Daniel Dehennin
Récupérer ma clef GPG:
gpg --keyserver pgp.mit.edu --recv-keys 0x7A6FE2DF
Hello,

I tagged a bunch of files and try to run “emms-tag-editor-rename” and
get the following message:

    emms-tag-editor-apply: Symbol's function definition is void: nil

But the file is renamed.

Regards.
(Continue reading)

Daniel Dehennin | 11 Jan 17:28 2014

Wrong number of arguments in emms-tag-editor-replace-in-tag

Hello,

EMMS: 20131016.932 from MELPA
GNU Emacs 24.3.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.6) of 2014-01-01 on prometheus, modified by Debian

Trying to clean some titles I get the following:

#+begin_src
call-interactively: Wrong number of arguments: #[(tag from to) "ÄeeT\"ÅÆÇ#ˆÈŽŠŒ	ƒ!
ƒ!É Ê }ˆË ˆÌ!ÍPebˆÎÏÐÑ#,‡" [overlay mark-active transient-mark-mode tag
make-overlay overlay-put face match ((delete-overlay overlay)) region-beginning ...] 4
("/home/dad/.emacs.d/elpa/emms-20131016.932/emms-tag-editor.elc" . 13433) (byte-code "ÄÅÆÇ\"ÈÉ$Ê	ƒ
Hello,

EMMS: 20131016.932 from MELPA
GNU Emacs 24.3.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.6) of 2014-01-01 on prometheus, modified by Debian

Trying to clean some titles I get the following:

#+begin_src
call-interactively: Wrong number of arguments: #[(tag from to) "ÄeeT\"ÅÆÇ#ˆÈŽŠŒ	ƒ!
ƒ!É Ê }ˆË ˆÌ!ÍPebˆÎÏÐÑ#,‡" [overlay mark-active transient-mark-mode tag
make-overlay overlay-put face match ((delete-overlay overlay)) region-beginning ...] 4
("/home/dad/.emacs.d/elpa/emms-20131016.932/emms-tag-editor.elc" . 13433) (byte-code "ÄÅÆÇ\"ÈÉ$Ê	ƒ
Mark Oteiza | 6 Jan 23:16 2014
Picon

emms + mpd: mapcan and broken cache


Hi,

I have encountered a couple problems with emms and mpd. I am using the
following:

 * mpd 0.18.6
 * emacs 24.3.50 (git master 2014-01-06)
 * emms (git master 2013-10-16)

First, 78c9cc4 introduced "mapcan" into a runtime function in
emms-player-mpd.el:

 emms-player-mpd.el:1299:1:Warning: the function `mapcan' is not known
     to be defined.

This results in (void-function mapcan).

Second, the emms cache is off by one almost everywhere. Below I put just
the head and tail of the cache.  It looks like the first mistake (in the
tail, it looks like emms does some kind of reverse sort) is when there
is a subdirectory.

;;; .emms-cache -*- mode: emacs-lisp; coding: utf-8; -*-
(puthash "Yes (2002) In A Word [V0]/CD5/10 In The Presence Of (I. Deeper, II. Death Of Ego, III. True
Beginner, IV. Turn Around And Remember).mp3" '(*track* (type . file) (name . "Yes (2002) In A Word
[V0]/CD5/10 In The Presence Of (I. Deeper, II. Death Of Ego, III. True Beginner, IV. Turn Around And
Remember).mp3") (info-genre . "Progressive Rock") (info-year . "2002") (info-tracknumber . "09")
(info-album . "In a Word - Disc 5") (info-title . "Last Train") (info-artist . "Yes") (info-playing-time
. 144)) emms-cache-db)
(Continue reading)

Oleg Kostyuchenko | 21 Aug 11:30 2013
Picon

[PATCH] emms-player-mpd-ensure-process does not work on Win32

Hi guys,

it seems that EMMS cannot interact with MPD out-of-the-box on a Windows machine. My current setup consists of Windows 7, mpd-0.13.4, Emacs 24.3 and the latest git snapshot of EMMS. When I open the EMMS buffer and execute "emms-mpd-player-connect", it returns an error message "Unknown service: 6600". A quick research showed that emms-player-mpd-ensure-process expects an integer for a port number but receives a string (e.g. "6600") instead.

After converting it to int, everything works OK. See the patch. Note that this is just a hack and probably the real refactoring should be done somewhere else.

Unfortunately, for now I have no *nix machine with the necessary setup to test this case on it.

Oleg

diff --git a/lisp/emms-player-mpd.el b/lisp/emms-player-mpd.el
index 5744515..20ee70b 100644
--- a/lisp/emms-player-mpd.el
+++ b/lisp/emms-player-mpd.el
<at> <at> -311,7 +311,7 <at> <at> return at the end of a request.")
           (funcall emms-player-mpd-connect-function "mpd"
                    nil
                    emms-player-mpd-server-name
-                   emms-player-mpd-server-port))
+                   (string-to-int emms-player-mpd-server-port)))
     (set-process-sentinel emms-player-mpd-process
                           'emms-player-mpd-sentinel)
     (setq emms-player-mpd-queue

<div><div dir="ltr">
<div>
<div>
<div>Hi guys,<br><br>
</div>it seems that EMMS cannot interact with MPD out-of-the-box on a Windows machine. My current setup consists of Windows 7, mpd-0.13.4, Emacs 24.3 and the latest git snapshot of EMMS. When I open the EMMS buffer and execute "emms-mpd-player-connect", it returns an error message "Unknown service: 6600". A quick research showed that emms-player-mpd-ensure-process expects an integer for a port number but receives a string (e.g. "6600") instead.<br><br>After converting it to int, everything works OK. See the patch. Note that this is just a hack and probably the real refactoring should be done somewhere else.<br><br>
</div>Unfortunately, for now I have no *nix machine with the necessary setup to test this case on it.<br><br>
</div>Oleg<br><br>diff --git a/lisp/emms-player-mpd.el b/lisp/emms-player-mpd.el<br>index 5744515..20ee70b 100644<br>--- a/lisp/emms-player-mpd.el<br>+++ b/lisp/emms-player-mpd.el<br> <at>  <at>  -311,7 +311,7  <at>  <at>  return at the end of a request.")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (funcall emms-player-mpd-connect-function "mpd"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nil<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emms-player-mpd-server-name<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emms-player-mpd-server-port))<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (string-to-int emms-player-mpd-server-port)))<br>
&nbsp;&nbsp;&nbsp;&nbsp; (set-process-sentinel emms-player-mpd-process<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'emms-player-mpd-sentinel)<br>&nbsp;&nbsp;&nbsp;&nbsp; (setq emms-player-mpd-queue<br><br>
</div></div>
Katherine Whitlock | 18 Aug 04:50 2013
Picon

[PATCH] doc/gpl.texi build fails with makeinfo (texinfo) 5.1

I have included a patch for this bug, based on this patch: http://lists.gnupg.org/pipermail/gnupg-devel/2013-April/027596.html, that fixes the build errors I was getting with texinfo.
The " <at> enumerate 0" for the "TERMS AND CONDITIONS" section should finish before the "END OF TERMS AND CONDITIONS" heading. The " <at> end enumerate" line is currently in the wrong place, so move it.diff --git a/doc/gpl.texi b/doc/gpl.texi index 877994e..cd24f3b 100644 --- a/doc/gpl.texi +++ b/doc/gpl.texi <at> <at> -658,6 +658,7 <at> <at> 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. + <at> end enumerate <at> iftex <at> heading END OF TERMS AND CONDITIONS <at> <at> -722,4 +723,3 <at> <at> 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 <at> url{http://www.gnu.org/philosophy/why-not-lgpl.html}. - <at> end enumerate

<div><div dir="ltr">I have included a patch for this bug, based on this patch:&nbsp;<a href="http://lists.gnupg.org/pipermail/gnupg-devel/2013-April/027596.html">http://lists.gnupg.org/pipermail/gnupg-devel/2013-April/027596.html</a>, that fixes the build errors I was getting with texinfo.<div>
The " <at> enumerate 0" for the "TERMS AND CONDITIONS" section should finish
before the "END OF TERMS AND CONDITIONS" heading.  The " <at> end enumerate"
line is currently in the wrong place, so move it.<span>diff --git a/doc/gpl.texi b/doc/gpl.texi
index 877994e..cd24f3b 100644
--- a/doc/gpl.texi
+++ b/doc/gpl.texi
 <at>  <at>  -658,6 +658,7  <at>  <at>  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.
+ <at> end enumerate

  <at> iftex
  <at> heading END OF TERMS AND CONDITIONS
 <at>  <at>  -722,4 +723,3  <at>  <at>  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  <at> url{<a href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>}.

- <at> end enumerate</span><span>
</span>
</div>
<div><br></div>
</div></div>
Daniel Dehennin | 6 Jul 18:10 2013

[PATCH] emms-tag-editor-tag-flac do not replace tags

The following changes since commit c763540c3473e06405825d6f1679f97b99567de9:

  Play tracks randomly (2013-05-30 18:19:50 +0200)

are available in the git repository at:

  git://git.baby-gnu.net/emms tags/hotfix/duplicated-flac-tags

for you to fetch changes up to 7a3b55b94f14ee9b462625df64f60bc18499fecc:

  emms-tag-editor-tag-flac do not replace tags (2013-07-06 18:05:59 +0200)

----------------------------------------------------------------
Avoids FLAC tags duplication with old values.

----------------------------------------------------------------
Daniel Dehennin (1):
      emms-tag-editor-tag-flac do not replace tags

 lisp/emms-tag-editor.el |   22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/lisp/emms-tag-editor.el b/lisp/emms-tag-editor.el
index 06041c5..2c28b96 100644
--- a/lisp/emms-tag-editor.el
+++ b/lisp/emms-tag-editor.el
 <at>  <at>  -143,19 +143,25  <at>  <at>  See also `emms-tag-editor-tag-file' and `emms-tag-editor-tag-ogg'.")
   "Commit changes to an FLAC file according to TRACK."
   (require 'emms-info-metaflac)
   (with-temp-buffer
-    (let (need val)
+    (let ((tags '("artist" "composer" "performer" "title" "album" "tracknumber" "discnumber" "date"
"genre" "note"))
+	  need val)
       (mapc (lambda (tag)
               (let ((info-tag (intern (concat "info-" tag))))
                 (when (> (length (setq val (emms-track-get track info-tag))) 0)
                   (insert (upcase tag) "=" val "\n"))))
-            '("artist" "composer" "performer" "title" "album" "tracknumber" "discnumber" "date" "genre" "note"))
+            tags)
       (when (buffer-string)
-        (funcall #'call-process-region (point-min) (point-max)
-                 emms-info-metaflac-program-name nil
-                 (get-buffer-create emms-tag-editor-log-buffer)
-                 nil
-                 "--import-tags-from=-"
-                 (emms-track-name track))))))
+	(apply #'call-process-region (point-min) (point-max)
+		 emms-info-metaflac-program-name nil
+		 (get-buffer-create emms-tag-editor-log-buffer)
+		 nil
+		 (append
+		  (mapcar (lambda (tag)
+			    (concat "--remove-tag=" tag))
+			  tags)
+		  '("--import-tags-from=-")
+		  '("--")
+		  (list (emms-track-name track))))))))

 (defun emms-tag-editor-tag-ogg (track)
   "Commit changes to an OGG file according to TRACK."

-- 
Daniel Dehennin
Récupérer ma clef GPG:
gpg --keyserver pgp.mit.edu --recv-keys 0x7A6FE2DF
The following changes since commit c763540c3473e06405825d6f1679f97b99567de9:

  Play tracks randomly (2013-05-30 18:19:50 +0200)

are available in the git repository at:

  git://git.baby-gnu.net/emms tags/hotfix/duplicated-flac-tags

for you to fetch changes up to 7a3b55b94f14ee9b462625df64f60bc18499fecc:

  emms-tag-editor-tag-flac do not replace tags (2013-07-06 18:05:59 +0200)

----------------------------------------------------------------
Avoids FLAC tags duplication with old values.

----------------------------------------------------------------
Daniel Dehennin (1):
      emms-tag-editor-tag-flac do not replace tags

 lisp/emms-tag-editor.el |   22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/lisp/emms-tag-editor.el b/lisp/emms-tag-editor.el
index 06041c5..2c28b96 100644
--- a/lisp/emms-tag-editor.el
+++ b/lisp/emms-tag-editor.el
 <at>  <at>  -143,19 +143,25  <at>  <at>  See also `emms-tag-editor-tag-file' and `emms-tag-editor-tag-ogg'.")
   "Commit changes to an FLAC file according to TRACK."
   (require 'emms-info-metaflac)
   (with-temp-buffer
-    (let (need val)
+    (let ((tags '("artist" "composer" "performer" "title" "album" "tracknumber" "discnumber" "date"
"genre" "note"))
+	  need val)
       (mapc (lambda (tag)
               (let ((info-tag (intern (concat "info-" tag))))
                 (when (> (length (setq val (emms-track-get track info-tag))) 0)
                   (insert (upcase tag) "=" val "\n"))))
-            '("artist" "composer" "performer" "title" "album" "tracknumber" "discnumber" "date" "genre" "note"))
+            tags)
       (when (buffer-string)
-        (funcall #'call-process-region (point-min) (point-max)
-                 emms-info-metaflac-program-name nil
-                 (get-buffer-create emms-tag-editor-log-buffer)
-                 nil
-                 "--import-tags-from=-"
-                 (emms-track-name track))))))
+	(apply #'call-process-region (point-min) (point-max)
+		 emms-info-metaflac-program-name nil
+		 (get-buffer-create emms-tag-editor-log-buffer)
+		 nil
+		 (append
+		  (mapcar (lambda (tag)
+			    (concat "--remove-tag=" tag))
+			  tags)
+		  '("--import-tags-from=-")
+		  '("--")
+		  (list (emms-track-name track))))))))

 (defun emms-tag-editor-tag-ogg (track)
   "Commit changes to an OGG file according to TRACK."

--

-- 
Daniel Dehennin
Récupérer ma clef GPG:
gpg --keyserver pgp.mit.edu --recv-keys 0x7A6FE2DF
Yoni Rabkin | 28 Jun 16:20 2013
Picon

Adding emms to ELPA


Check it out:
https://lists.gnu.org/archive/html/emacs-devel/2013-06/msg01210.html

--

-- 
   "Cut your own wood and it will warm you twice"


Gmane