The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Audio::MPD::Playlist - an object to mess MPD's playlist

SYNOPSIS

    my $song = $mpd->playlist->randomize;

DESCRIPTION

Audio::MPD::Playlist is a class meant to access & update MPD's playlist.

PUBLIC METHODS

Constructor

new( $mpd )

This will create the object, holding a back-reference to the Audio::MPD object itself (for communication purposes). But in order to play safe and to free the memory in time, this reference is weakened.

Note that you're not supposed to call this constructor yourself, an Audio::MPD::Playlist is automatically created for you during the creation of an Audio::MPD object.

Retrieving information

$pl->as_items( )

Return an array of Audio::MPD::Item::Songs, one for each of the songs in the current playlist.

$pl->items_changed_since( $plversion )

Return a list with all the songs (as API::Song objects) added to the playlist since playlist $plversion.

Adding / removing songs

$pl->add( $path )

Add the song identified by $path (relative to MPD's music directory) to the current playlist. No return value.

$pl->delete( $song [, $song [...] ] )

Remove song number $songs (starting from 0) from the current playlist. No return value.

$pl->deleteid( $songid [, $songid [...] ] )

Remove the specified $songids (as assigned by mpd when inserted in playlist) from the current playlist. No return value.

$pl->clear( )

Remove all the songs from the current playlist. No return value.

$pl->crop( )

Remove all of the songs from the current playlist *except* the song currently playing.

Changing playlist order

$pl->shuffle( )

Shuffle the current playlist. No return value.

$pl->swap( $song1, $song2 )

Swap positions of song number $song1 and $song2 in the current playlist. No return value.

$pl->swapid( $songid1, $songid2 )

Swap the postions of song ID $songid1 with song ID $songid2 in the current playlist. No return value.

$pl->move( $song, $newpos )

Move song number $song to the position $newpos. No return value.

$pl->moveid( $songid, $newpos )

Move song ID $songid to the position $newpos. No return value.

Managing playlists

$pl->load( $playlist )

Load list of songs from specified $playlist file. No return value.

$pl->save( $playlist )

Save the current playlist to a file called $playlist in MPD's playlist directory. No return value.

$pl->rm( $playlist )

Delete playlist named $playlist from MPD's playlist directory. No return value.

SEE ALSO

You can find more information on the mpd project on its homepage at http://www.musicpd.org, or its wiki http://mpd.wikia.com.

Regarding this Perl module, you can report bugs on CPAN via http://rt.cpan.org/Public/Bug/Report.html?Queue=Audio-MPD.

Audio::MPD development takes place on <audio-mpd@googlegroups.com>: feel free to join us. (use http://groups.google.com/group/audio-mpd to sign in). Our subversion repository is located at https://svn.musicpd.org.

AUTHORS

Jerome Quelin <jquelin@cpan.org>

COPYRIGHT AND LICENSE

Copyright (c) 2007 Jerome Quelin <jquelin@cpan.org>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.