unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* EMMS best practice, tag editing and fetching lyrics
@ 2012-05-20 14:33 Johnny
  0 siblings, 0 replies; 10+ messages in thread
From: Johnny @ 2012-05-20 14:33 UTC (permalink / raw)
  To: help-gnu-emacs

Hi all,

I am (again) attempting to convert to using EMMS as a front end for mpd
instead of using ncmpcp, but am struggling to get a good setup and
efficient usage, and hence wonder how emacs users play their music
files? 

I have been scavenging the net for some basics on emms and mpd, but
haven't been very succesful, hence this mail to see if I am missing some
essential sources. 

I find ncmpcpp  nice and full featured, with the (huge) drawback that the
keybindings are unintuitive from an emacs perspective - ideally
I'd like the same or similar features within emacs / EMMS.

Fetching lyrics
===============

ncpmcpp fetches lyrics from the web from a default set of locations. In
EMMS, this can (possibly) be done via emms-get-lyrics [1], via more
or less complex methods [2], but the "default" seems to be getting
lyrics from a local file (which is rarely / never present on my system)
[3]. I like the ncmpcpp way that "just works", what is the best practice
to achieve this in EMMS? 

Tag editor refresh and Multiple genres
======================================

I haven't found a convenient way to edit tags in ncmpcp and envision
this should be nicely done in emacs through emms. The method I am using
is to mark a set of files in the playlist using 'emms-mark-forward' [4]
and then doing 'emms-tag-editor-edit-marked-tracks' and use the tag
editor for this. (any better practices?) After this the playlist is
messed up and I haven't yet found a way to redisplay the buffer? 

Is there any way to specify multiple genres for a track, so that when
filtering by genres, the track shows up under multiple categories? [6]

Footnotes: 
[1]  http://emacswiki.org/emacs/emms-get-lyrics.el

[2]  http://www.kipuamutay.com/en/blog/listeningInternetRadioWithLyricsFromCli.html

[3]  http://www.gnu.org/software/emms/manual/Lyrics.html

[4]  This function is not bound per default, which seems unintuitive,
but of course can be easily customised.

[6]  This could probably be generalised for all fields, e.g. multiple
artists, but it may not even be desirable as the limitation seems to be
inherent in the mp3 format.

Cheers,

-- 
Johnny



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
       [not found] <mailman.1426.1337528768.855.help-gnu-emacs@gnu.org>
@ 2012-05-21  1:28 ` Stefan Monnier
  2012-05-21  4:06   ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2012-05-21  1:28 UTC (permalink / raw)
  To: help-gnu-emacs

> I am (again) attempting to convert to using EMMS as a front end for
> mpd instead of using ncmpcp, but am struggling to get a good setup and
> efficient usage, and hence wonder how emacs users play their
> music files? 

BTW, there are 2 more front ends in Emacs: mpc.el (bundled with Emacs
since Emacs-23 or so) and ampc.el (available in GNU ELPA).

I'm the author of mpc.el and from the points you mention, I'd guess
mpc.el won't suit you (it doesn't even attempt to give you any kind of
tag-writing ability, it rather focuses on providing a browser to find
the music you want to play).


        Stefan


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-21  1:28 ` EMMS best practice, tag editing and fetching lyrics Stefan Monnier
@ 2012-05-21  4:06   ` Eric Abrahamsen
  2012-05-21 18:12     ` Johnny
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Abrahamsen @ 2012-05-21  4:06 UTC (permalink / raw)
  To: help-gnu-emacs

On Mon, May 21 2012, Stefan Monnier wrote:

>> I am (again) attempting to convert to using EMMS as a front end for
>> mpd instead of using ncmpcp, but am struggling to get a good setup and
>> efficient usage, and hence wonder how emacs users play their
>> music files? 
>
> BTW, there are 2 more front ends in Emacs: mpc.el (bundled with Emacs
> since Emacs-23 or so) and ampc.el (available in GNU ELPA).
>
> I'm the author of mpc.el and from the points you mention, I'd guess
> mpc.el won't suit you (it doesn't even attempt to give you any kind of
> tag-writing ability, it rather focuses on providing a browser to find
> the music you want to play).

Also Mingus! But, likewise, not particularly good for either of the OP's
needs. No lyrics support, and tag editing that depends on an external
library that I wasn't able to compile on my machine.

But, for completeness' sake…

-- 
GNU Emacs 24.1.50.2 (i686-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-05-19 on pellet




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-21  4:06   ` Eric Abrahamsen
@ 2012-05-21 18:12     ` Johnny
  2012-05-22  3:14       ` Eric Abrahamsen
  2012-05-22 15:04       ` William Xu
  0 siblings, 2 replies; 10+ messages in thread
From: Johnny @ 2012-05-21 18:12 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: help-gnu-emacs

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> On Mon, May 21 2012, Stefan Monnier wrote:
>
>>> I am (again) attempting to convert to using EMMS as a front end for
>>> mpd instead of using ncmpcp, but am struggling to get a good setup and
>>> efficient usage, and hence wonder how emacs users play their
>>> music files? 
>>
>> BTW, there are 2 more front ends in Emacs: mpc.el (bundled with Emacs
>> since Emacs-23 or so) and ampc.el (available in GNU ELPA).
>>
>> I'm the author of mpc.el and from the points you mention, I'd guess
>> mpc.el won't suit you (it doesn't even attempt to give you any kind of
>> tag-writing ability, it rather focuses on providing a browser to find
>> the music you want to play).
>
> Also Mingus! But, likewise, not particularly good for either of the OP's
> needs. No lyrics support, and tag editing that depends on an external
> library that I wasn't able to compile on my machine.
>
> But, for completeness' sake…

Thanks for the completions, I may look into these at some point. I am a
bit puzzled by the lack of documentation for emms and have not yet
realised whether it is the best way to go in emacs for playing music
(/media). I have managed to get a decent set up but not entirely
content. I got the tag editor working by customising the
'emms-tag-editor-tagfile-functions' [1]to use 'id3tag' instead of the
(seemingly obsolete? from 2006) 'mp3info'. This is maybe the main place
where emacs shines, in addition to searching and adding to the
playlist. 

Lyrics seem possible, but quite complex to set up for fetching from the
net, so I will be satisfied with usimg emms and ncmpcpp in parallell
(and ario for a graphical front end for visitors who don't like the
cli) to interface mpd.

Any further opinions on setting up mpd through emacs will be
appreciated! 

Cheers!

Footnotes: 
[1]  The customisation I added in init.el is:
     ,----
     |  (setq emms-tag-editor-tagfile-functions
     | '(("mp3" "id3tag"
     |    ((info-artist      . "a")
     |     (info-title       . "s")
     |     (info-album       . "A")
     |     (info-tracknumber . "t")
     |     (info-year        . "y")
     |     (info-genre       . "g")
     |     (info-note        . "c")))
     |   ("ogg" . emms-tag-editor-tag-ogg)
     |   ("flac" . emms-tag-editor-tag-flac))
     | )
     `----
-- 
Johnny



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-21 18:12     ` Johnny
@ 2012-05-22  3:14       ` Eric Abrahamsen
  2012-05-22 15:59         ` David Engster
  2012-05-22 15:04       ` William Xu
  1 sibling, 1 reply; 10+ messages in thread
From: Eric Abrahamsen @ 2012-05-22  3:14 UTC (permalink / raw)
  To: Johnny; +Cc: help-gnu-emacs


On 05/22/12 02:12 AM, Johnny wrote:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> On Mon, May 21 2012, Stefan Monnier wrote:
>>
>>>> I am (again) attempting to convert to using EMMS as a front end for
>>>> mpd instead of using ncmpcp, but am struggling to get a good setup and
>>>> efficient usage, and hence wonder how emacs users play their
>>>> music files? 
>>>
>>> BTW, there are 2 more front ends in Emacs: mpc.el (bundled with Emacs
>>> since Emacs-23 or so) and ampc.el (available in GNU ELPA).
>>>
>>> I'm the author of mpc.el and from the points you mention, I'd guess
>>> mpc.el won't suit you (it doesn't even attempt to give you any kind of
>>> tag-writing ability, it rather focuses on providing a browser to find
>>> the music you want to play).
>>
>> Also Mingus! But, likewise, not particularly good for either of the OP's
>> needs. No lyrics support, and tag editing that depends on an external
>> library that I wasn't able to compile on my machine.
>>
>> But, for completeness' sake…
>
> Thanks for the completions, I may look into these at some point. I am a
> bit puzzled by the lack of documentation for emms and have not yet
> realised whether it is the best way to go in emacs for playing music
> (/media). I have managed to get a decent set up but not entirely
> content. I got the tag editor working by customising the
> 'emms-tag-editor-tagfile-functions' [1]to use 'id3tag' instead of the
> (seemingly obsolete? from 2006) 'mp3info'. This is maybe the main place
> where emacs shines, in addition to searching and adding to the
> playlist. 
>
> Lyrics seem possible, but quite complex to set up for fetching from the
> net, so I will be satisfied with usimg emms and ncmpcpp in parallell
> (and ario for a graphical front end for visitors who don't like the
> cli) to interface mpd.
>
> Any further opinions on setting up mpd through emacs will be
> appreciated! 

I started off with EMMS and was happy with it at first, but eventually
ditched it because:

1. I was only using it for music, none of the other multimedia things.
2. I had 32 lines of customization, just to listen to music.
3. It got out of sync with mpd. I control mpd through emacs, the command
   line, and my window manager, and I found that emms wouldn't notice
   when I changed the playlist or playstate through a different
   interface. That sort of defeated the purpose! (I would be curious to
   hear if this happens to you as well.)

I'm liking Mingus: it only does music, which is all I want, and it stays
aware of the global state of mpd (a 'g' is usually all it takes). I
don't like the browsing interface as well as EMMS (it's too tied to the
filesystem structure of your music library), but with ido-mode on it's
not bad at all.

E

> Cheers!
>
> Footnotes: 
> [1]  The customisation I added in init.el is:
>      ,----
>      |  (setq emms-tag-editor-tagfile-functions
>      | '(("mp3" "id3tag"
>      |    ((info-artist      . "a")
>      |     (info-title       . "s")
>      |     (info-album       . "A")
>      |     (info-tracknumber . "t")
>      |     (info-year        . "y")
>      |     (info-genre       . "g")
>      |     (info-note        . "c")))
>      |   ("ogg" . emms-tag-editor-tag-ogg)
>      |   ("flac" . emms-tag-editor-tag-flac))
>      | )
>      `----
> -- 
> Johnny



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-21 18:12     ` Johnny
  2012-05-22  3:14       ` Eric Abrahamsen
@ 2012-05-22 15:04       ` William Xu
  2012-05-22 18:40         ` Johnny
  1 sibling, 1 reply; 10+ messages in thread
From: William Xu @ 2012-05-22 15:04 UTC (permalink / raw)
  To: help-gnu-emacs

Johnny <yggdrasil@gmx.co.uk> writes:

> Lyrics seem possible, but quite complex to set up for fetching from the
> net, so I will be satisfied with usimg emms and ncmpcpp in parallell
> (and ario for a graphical front end for visitors who don't like the
> cli) to interface mpd.

M-x emms-lyrics-visit-lyric will try to search from some internet
location (http://search.lyrics.astraweb.com) if lyrics are not present
locally.  But it seems the location is not accessiable any more..  Maybe
you can take a look at ncmpcpp and added it to emms-lyrics-visit-lyric,
and sumbit a patch. :)

-- 
William

http://xwl.appspot.com




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-22  3:14       ` Eric Abrahamsen
@ 2012-05-22 15:59         ` David Engster
  2012-05-23  1:44           ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: David Engster @ 2012-05-22 15:59 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: help-gnu-emacs

Eric Abrahamsen writes:
> 3. It got out of sync with mpd. I control mpd through emacs, the command
>    line, and my window manager, and I found that emms wouldn't notice
>    when I changed the playlist or playstate through a different
>    interface. That sort of defeated the purpose! (I would be curious to
>    hear if this happens to you as well.)

FWIW, I think I managed to fix at least some of these issues with EMMS
and mpd. I've submitted the changes, but unfortunately they were never
applied. It seems EMMS is barely maintained at the moment. I still have
them around somewhere, so I can dig them up if necessary.

-David



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-22 15:04       ` William Xu
@ 2012-05-22 18:40         ` Johnny
  2012-05-23  1:42           ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: Johnny @ 2012-05-22 18:40 UTC (permalink / raw)
  To: William Xu, deng, eric; +Cc: help-gnu-emacs

William Xu <william.xwl@gmail.com> writes:
> Johnny <yggdrasil@gmx.co.uk> writes:

>> Lyrics seem possible, but quite complex to set up for fetching from the
>> net, so I will be satisfied with usimg emms and ncmpcpp in parallell
>> (and ario for a graphical front end for visitors who don't like the
>> cli) to interface mpd.
>
> M-x emms-lyrics-visit-lyric will try to search from some internet
> location (http://search.lyrics.astraweb.com) if lyrics are not present
> locally.  But it seems the location is not accessiable any more..  Maybe
> you can take a look at ncmpcpp and added it to emms-lyrics-visit-lyric,
> and sumbit a patch. :)

Yes, it is probably possible to customize this in some way. What I like
with ncmpcpp way is that it tries several sites for lyrics before giving
up. Unfortunately my lisp skills are abysmal and it is a challenge every
time I need to customize a simple variable, so a patch provided by
myself is a utopia...

David Engster <deng@randomsample.de> writes:
> Eric Abrahamsen writes:
>> 3. It got out of sync with mpd. I control mpd through emacs, the command
>>    line, and my window manager, and I found that emms wouldn't notice
>>    when I changed the playlist or playstate through a different
>>    interface. That sort of defeated the purpose! (I would be curious to
>>    hear if this happens to you as well.)
>
> FWIW, I think I managed to fix at least some of these issues with EMMS
> and mpd. I've submitted the changes, but unfortunately they were never
> applied. It seems EMMS is barely maintained at the moment. I still have
> them around somewhere, so I can dig them up if necessary.

Unfortunately, this is the feeling I got as well that emms is somewhat
out of date and not actively maintained. It seems all the stuff is there
but it needs some tweaking to get all the way and it is hard to find any
digestable beginners info, although the manual goes some way.

Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> I started off with EMMS and was happy with it at first, but eventually
> ditched it because:
>
> 1. I was only using it for music, none of the other multimedia things.
> 2. I had 32 lines of customization, just to listen to music.
> 3. It got out of sync with mpd. I control mpd through emacs, the command
>    line, and my window manager, and I found that emms wouldn't notice
>    when I changed the playlist or playstate through a different
>    interface. That sort of defeated the purpose! (I would be curious to
>    hear if this happens to you as well.)

I haven't seens this as an issue yet as i haven't got a very good setup
yet, but if I edit the playlist in ncmpcpp the emms playlist must be
manually udated to reflect this, if this is what you mean with out of
sync.

>
> I'm liking Mingus: it only does music, which is all I want, and it stays
> aware of the global state of mpd (a 'g' is usually all it takes). I
> don't like the browsing interface as well as EMMS (it's too tied to the
> filesystem structure of your music library), but with ido-mode on it's
> not bad at all.

I have seen mingus mentioned and got a copy to test. 

I read your discussion on the stumpwm list on mpd setup and have played
around to achieve something similar. I haven't been very successful
integrating mpd and stumpwm though and would be curious to understand
your setup better. I currently use ncmpcpp and alsamixer bound to shortcuts for
fast access, but as I mentioned in the original post, my main issue with
ncmpcpp is that the keybindings are just awful.

Emacs to create and edit playlists (and possibly tags and view lyrics)
and stumpwm directly for play, pause, fwd, etc. would be great!

-- 
Johnny



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-22 18:40         ` Johnny
@ 2012-05-23  1:42           ` Eric Abrahamsen
  0 siblings, 0 replies; 10+ messages in thread
From: Eric Abrahamsen @ 2012-05-23  1:42 UTC (permalink / raw)
  To: help-gnu-emacs

On Wed, May 23 2012, Johnny wrote:

> William Xu <william.xwl@gmail.com> writes:
>> Johnny <yggdrasil@gmx.co.uk> writes:
>

[...]

>>
>> I'm liking Mingus: it only does music, which is all I want, and it stays
>> aware of the global state of mpd (a 'g' is usually all it takes). I
>> don't like the browsing interface as well as EMMS (it's too tied to the
>> filesystem structure of your music library), but with ido-mode on it's
>> not bad at all.
>
> I have seen mingus mentioned and got a copy to test. 
>
> I read your discussion on the stumpwm list on mpd setup and have played
> around to achieve something similar. I haven't been very successful
> integrating mpd and stumpwm though and would be curious to understand
> your setup better. I currently use ncmpcpp and alsamixer bound to shortcuts for
> fast access, but as I mentioned in the original post, my main issue with
> ncmpcpp is that the keybindings are just awful.
>
> Emacs to create and edit playlists (and possibly tags and view lyrics)
> and stumpwm directly for play, pause, fwd, etc. would be great!

Yup, it's a pretty ideal setup. We're getting a wee bit off topic here,
but basically what I do is start mpd at boot time, so it's running
before X starts, and then I've got the following in my .stumpwmrc:

--8<---------------cut here---------------start------------->8---
(load-module "mpd")
(define-key *root-map* (kbd "m") '*mpd-map*)
(mpd-connect)

(defcommand PCM-volume-up () ()
  "Adjust PCM volume up"
  (run-shell-command "amixer set PCM 3+"))

(defcommand PCM-volume-down () ()
  "Adjust PCM volume down"
  (run-shell-command "amixer set PCM 3-"))

(define-key *top-map* (kbd "XF86AudioRaiseVolume") "PCM-volume-up")
(define-key *top-map* (kbd "XF86AudioLowerVolume") "PCM-volume-down")
(define-key *top-map* (kbd "XF86AudioPlay") "mpd-toggle-pause")
(define-key *top-map* (kbd "XF86AudioStop") "mpd-stop")
(define-key *top-map* (kbd "XF86AudioNext") "mpd-next")
(define-key *top-map* (kbd "XF86AudioPrev") "mpd-prev")
(define-key *top-map* (kbd "XF86AudioMute") "toggle-mute")
--8<---------------cut here---------------end--------------->8---

Only the first two lines are really necessary. If mpd is running at the
default 127.0.0.1:6600, this will do it. You can connect manually using
'C-t m x' (provided you're using the prefix above), and after that 'C-t
m C-h' to see all of stumpwm's mpd-module commands.

I use mpd with pulseaudio, but I can't imagine that would make any
difference.

Good luck,
E

-- 
GNU Emacs 24.1.50.2 (i686-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-05-19 on pellet




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: EMMS best practice, tag editing and fetching lyrics
  2012-05-22 15:59         ` David Engster
@ 2012-05-23  1:44           ` Eric Abrahamsen
  0 siblings, 0 replies; 10+ messages in thread
From: Eric Abrahamsen @ 2012-05-23  1:44 UTC (permalink / raw)
  To: help-gnu-emacs

On Tue, May 22 2012, David Engster wrote:

> Eric Abrahamsen writes:
>> 3. It got out of sync with mpd. I control mpd through emacs, the command
>>    line, and my window manager, and I found that emms wouldn't notice
>>    when I changed the playlist or playstate through a different
>>    interface. That sort of defeated the purpose! (I would be curious to
>>    hear if this happens to you as well.)
>
> FWIW, I think I managed to fix at least some of these issues with EMMS
> and mpd. I've submitted the changes, but unfortunately they were never
> applied. It seems EMMS is barely maintained at the moment. I still have
> them around somewhere, so I can dig them up if necessary.

Thanks! I'll probably just stick with mingus for now. I don't think I'll
revisit EMMS unless I eventually decide I want a full-blow multimedia
suite…

E

-- 
GNU Emacs 24.1.50.2 (i686-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-05-19 on pellet




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-05-23  1:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.1426.1337528768.855.help-gnu-emacs@gnu.org>
2012-05-21  1:28 ` EMMS best practice, tag editing and fetching lyrics Stefan Monnier
2012-05-21  4:06   ` Eric Abrahamsen
2012-05-21 18:12     ` Johnny
2012-05-22  3:14       ` Eric Abrahamsen
2012-05-22 15:59         ` David Engster
2012-05-23  1:44           ` Eric Abrahamsen
2012-05-22 15:04       ` William Xu
2012-05-22 18:40         ` Johnny
2012-05-23  1:42           ` Eric Abrahamsen
2012-05-20 14:33 Johnny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).