Thomas Sibley > XMMS-InfoPipe-Playlist-0.01 > XMMS::InfoPipe::Playlist

Download:
XMMS-InfoPipe-Playlist-0.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.01   Source  

NAME ^

XMMS::InfoPipe::Playlist - A small module to gather the information produced by the playlist-infopipe plugin for XMMS

SYNOPSIS ^

        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";
        }

DESCRIPTION ^

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).

METHODS ^

new

    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().

get_playlist

    @list = $pl->get_playlist();

Returns an array of hashrefs that represents the current playlist.

xmms_is_running

    $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.

update_playlist

    $pl->update_playlist()

Updates $pl->{playlist}.

VARIABLES ^

$XMMS::InfoPipe::Playlist::PIPE

    $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.

LICENSE ^

This module is free software, and may be distributed under the same terms as Perl itself.

AUTHOR ^

Copyright (C) 2003, Thomas R. Sibley tsibley@cpan.org