ClientLib:Perl Modules
From Music Player Daemon Community Wiki
[edit] Perl modules to connect to MPD
There are 2 Perl modules available to connect to MPD:
- Audio::MPD for regular scripts
- POE::Component::Client::MPD for POE-aware perl scripts
Those two modules are developed and maintained by Jerome Quelin.
Discussion about those modules happen on the audio-mpd@googlegroups.com mailing-list. Feel free to join us by signing up.
[edit] Audio::MPD
- Description: Audio::MPD is a Perl module for interfacing MPD through perl scripts.
- Download: http://search.cpan.org/~jquelin/Audio-MPD/
- Report bug: http://rt.cpan.org/Public/Bug/Report.html?Queue=Audio-MPD
- Browse repository: http://svn.musicpd.org/MPD.pm/trunk/
- Subversion: https://svn.musicpd.org/MPD.pm/trunk/
Some scripts are also provided within the module, such as:
- mpd-dynamic: implements a dynamic playlist for mpd
High-level changelog for Audio::MPD module:
- 0.17.x introducing AM::Playlist + AM::Time
- 0.16.x utf-8 support + introducing mpd-dynamic script
- 0.15.x introducing AM::Collection
- 0.14.x introducing AM::Items
- 0.13.x rewrote connection mechanism
- 0.12.4 adoption by jerome quelin & quick fixes
- 0.12.0 adoption by nicholas j humphrey & first release on cpan
- 0.10.0 adapting to evolving mpd
- [...] ? (no information)
- 0.1.0 initial release by tue abrahamsen
[edit] POE::Component::Client::MPD
- Description: POE::Component::Client::MPD is a Perl module for interfacing MPD through poe-aware perl scripts.
- Download: http://search.cpan.org/~jquelin/POE-Component-Client-MPD/
- Report bug: http://rt.cpan.org/Public/Bug/Report.html?Queue=POE-Component-Client-MPD
- Browse repository: http://svn.musicpd.org/MPD.pm/poe-trunk/
- Subversion: https://svn.musicpd.org/MPD.pm/poe-trunk/
Audio::MPD is nice and quite feature-full, but it is synchronous by design. And sometimes, this can be a problem (server crashing at the wrong time, slow mpd slowing application, etc). Moreover, if MPD is to support asynchronous event ("playlist has changed", etc.), Audio::MPD has no easy way to include this.
On the other hand, POE is a Perl framework designed with asynchronous-ism in mind. Therefore, it made sense to port (and dual-life) Audio::MPD to POE. Hence the new module POE::Component::Client::MPD, based on Audio::MPD with some tweaks in the internals.
Note: This module is currently under development, and not yet as feature-full as Audio::MPD
High-level changelog for Audio::MPD module:
- 0.0.1 initial release by Jerome Quelin, based on Audio::MPD
