pmpds is a simple last.fm audioscrobbler for the Music Player Daemon. The script supports the 2.0 protocol and keeps a journal of all the tracks that could not be submitted to last.fm.
pmpds uses IO::Socket to connect to MPD and WWW::Curl to submit the tracks to
last.fm. The script comes with scrobble and now-playing support. Additionally,
the script supports MPD's
- MPD >= 0.14
- Thread::Queue (core module)
- IO::Socket (core module)
- Encode (core module)
- Digest::MD5 (core module)
- Getopt::Long (core module)
- POSIX (core module)
- WWW::Curl::Easy (CPAN)
- URI::Escape (CPAN)
- core modules come with perl. The remaining modules have to be installed through CPAN or your local package manager (pacman, yum, apt, etc.).
- threads and threads::shared are available in perl starting from 5.8
- When updating from pmpds 0.5.3, you need to rename
configand pmpds.cache to
Fetch the files with git:
git clone git://github.com/vehk/pmpds.git
You can either install the script yourself or use the makefile.
Use the makefile (easier):
sudo make install
I recommend to set up user-specific configuration by copying
To uninstall, run
sudo make uninstall.
Install the script yourself if you do not trust make:
pmpdsinto a directory listed in your
$HOME/.pmpds/configand edit the default configuration. You can also create a system-wide configuration file in
I created and submitted a package to the Arch User Repository. Download it and run makepkg -si.
autosubmit is on, pmpds might complain about a missing journal file. As
the file is not created until a track is added to the journal, you can safely
ignore this warning or simply create an empty journal file with
$ touch $HOME/.pmpds/journal.
The script uses a dedicated
Thread::Queue that submits queued tracks to
last.fm. Therefore, timeouts or other errors won't stop the script from
recognizing new tracks (previously, pmpds had to wait for last.fm to return).
In order to access your last.fm account, pmpds needs your last.fm credentials.
Add these to the configuration file in
- Add a daemon option
Please report any bugs or issues on the github page.
pmpds is released under GNU GPL v3.0. You can find more information in LICENSE.