XMMS::InfoPipe::Playlist - A small module to gather the information produced by the playlist-infopipe plugin for XMMS
use XMMS::InfoPipe::Playlist; my $pl = XMMS::InfoPipe::Playlist->new(); for ($pl->get_playlist()) { print "Position: $_->{position}\n"; print "Title: $_->{title}\n"; print "File: $_->{file}\n\n"; }
This module was written to provide a way to snag the current XMMS playlist from the pipe produced by the xmms-playlist-infopipe plugin for XMMS.
Nota Bene: If the XMMS plugin isn't enabled, then this module will NOT return results as expected (if it even works).
my $pl = XMMS::InfoPipe::Playlist->new();
Creates a new XMMS::InfoPipe::Playlist instance. By default this parses the file before returning the object. This will undoubtedly cause some initial slowdown (the bottleneck of XMMS::InfoPipe::Playlist is when it must grab information from the named pipe the XMMS plugin provides), and so you may disable this first parsing by specifying a false value to ForceParse. For example:
my $pl = XMMS::InfoPipe::Playlist->new(ForceParse => 0);
will create the object and immediately return it, without first populating it with the information from XMMS. This means that before trying to obtain this information, you should first call $pl->update_playlist().
$pl->update_playlist()
@list = $pl->get_playlist();
Returns an array of hashrefs that represents the current playlist.
$pl->xmms_is_running()
Returns 1 if XMMS is running and 0 if not. This relies on the fact that the named pipe does not exist if XMMS is not running. If the infopipe plugin isn't enabled, this will also return 0.
Updates $pl->{playlist}.
$pl->{playlist}
$XMMS::InfoPipe::Playlist::PIPE = '/tmp/other-name';
This variable defaults to /tmp/xmms-playlist-info which should be a symlink (created by xmms-playlist-infopipe) to the real named pipe (something like /tmp/xmms-playlist-info_user.0). If for whatever reason you need to change it (maybe you have a file generated by something else that follows the same format as xmms-playlist-infopipe), just set it before update_playlist is called (by default that means before new is called) for the right file to be used.
/tmp/xmms-playlist-info
/tmp/xmms-playlist-info_user.0
update_playlist
new
This module is free software, and may be distributed under the same terms as Perl itself.
Copyright (C) 2003, Thomas R. Sibley tsibley@cpan.org
tsibley@cpan.org
To install XMMS::InfoPipe::Playlist, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XMMS::InfoPipe::Playlist
CPAN shell
perl -MCPAN -e shell install XMMS::InfoPipe::Playlist
For more information on module installation, please visit the detailed CPAN module installation guide.