emms-help
[Top][All Lists]
Advanced

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

Re: [emms-help] Problems getting emms-player-mpd working, and solutions


From: Alexis
Subject: Re: [emms-help] Problems getting emms-player-mpd working, and solutions
Date: Sun, 27 Jul 2014 20:34:45 +1000

Yoni Rabkin writes:

> Could you please send a patch against the manual which fixes this? Or
> simply send in the text you'd like to see in its place and I'll patch
> the manual.

Great, thanks. :-) Probably easiest for me to simply suggest the changes
here.

In Chapter 25 of the manual, replace:

"If you use absolute file names in your m3u playlists (which is most
likely), make sure you set EMMS-PLAYER-MPD-MUSIC-DIRECTORY to the value
of 'music_directory' from your MusicPD config."

with:

"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 config."

In the docstring for the emms-player-mpd-music-directory variable, replace:

"You need this if your playlists use absolute file names, otherwise
leave it set to nil."

with:

"Unless your MusicPD is configured to use absolute file names, you must
set this variable to the value of 'music_directory' in your MusicPD
config."

>> 2. To add all music in my MPD database, such that it was listed in the
>>   EMMS Browser, i needed to create an active MPD playlist containing all
>>   music (which i did via ncmpcpp), /then/ do emms-add-directory-tree on
>>   my Music folder. Unless there's some way of building the EMMS
>>   track cache directly from the MPD database, that i've missed?
>
> To test MPD I configure it like this:
>
> (setq emms-player-mpd-server-name "blarg-ThinkPad-T61.local"
>       emms-player-mpd-server-port "6600"
>       emms-player-mpd-music-directory nil)
> (add-to-list 'emms-info-functions 'emms-info-mpd)
> (add-to-list 'emms-player-list 'emms-player-mpd)
>
> ...then: M-x emms-player-mpd-connect
>
> ...and the result is that my local emms playlist and browser buffers are
> populated with the remote playlist, and everything just works.

The problem is: On initial setup (i.e. prior to the EMMS cache file
having been created), /unless/ one first creates a current playlist in
MPD /with every song in one's collection in it/, the browser buffer
isn't fully populated. So if at the time of initial setup, there are
only has 3 songs in one's current MPD playlist, only those 3 songs
will be listed as available in the browser buffer.

My current playlist is constantly changing, and rarely represents more
than a small fraction of all the music in my collection. Since
emms-player-mpd appears to be using the current MPD playlist to populate
the browser buffer / track cache, most of my collection wasn't available
for me to browse until i added every song in my collection to my current
playlist, /then/ did emms-add-directory-tree. The browser buffer was
then fully populated; i could clear the "every song" playlist from MPD
and go back to my usual-sized playlist.

Since MPD maintains a music database /independent/ of playlists, i can,
using the ncmpcpp MPD client, browse that database to add songs to my
current playlist. And one doesn't add to the database via playlists; one
places music files in the MusicPD music_directory, and then requests a
database update.

So i think that either:

* emms-player-mpd should populate the browser buffer / track cache via
  the MPD /database/ rather than the /current MPD playlist/; or

* something like the following text should be added to chapter 25 of the
  manual:

  "The EMMS browser buffer / track cache is populated via the current
  MPD playlist. On initial setup, if you wish to have your entire music
  collection accessible from the browser buffer, your current MusicPD
  playlist must contain every song in your collection before you run the
  'emms-add-directory-tree' command. Once the browser buffer / track
  cache has been fully  populated, you can set your current MusicPD
  playlist to whatever you like."


Alexis.



reply via email to

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