---
name: "POE::Component::Client::MPD::Playlist"
section: "3pm"
platform: "linux"
package: "libpoe-component-client-mpd-perl"
version: "2.001-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Component::Client::MPD::Playlist"
---

# POE::Component::Client::MPD::Playlist(3pm)

module handling playlist commands

## NAME

POE::Component::Client::MPD::Playlist - module handling playlist commands

## VERSION

version 2.001

## DESCRIPTION

POE::Component::Client::MPD::Playlist is responsible for handling general purpose commands. They are in a dedicated module to achieve easier code maintenance.

To achieve those commands, send the corresponding event to the POCOCM session you created: it will be responsible for dispatching the event where it is needed. Under no circumstance should you call directly subs or methods from this module directly.

Read POCOCM's pod to learn how to deal with answers from those commands.

Following is a list of playlist-related events accepted by POCOCM.

## RETRIEVING INFORMATION

### pl.as\_items( )

Return an array of Audio::MPD::Common::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 Audio::MPD::Common::Item::Song objects) added to the playlist since playlist `$plversion`.

## ADDING / REMOVING SONGS

### pl.add( $path, $path, ... )

Add the songs identified by `$path` (relative to MPD's music directory) to the current playlist.

### pl.delete( $number, $number, ... )

Remove song `$number` (starting from 0) from the current playlist.

### pl.deleteid( $songid, $songid, ... )

Remove the specified `$songid` (as assigned by mpd when inserted in playlist) from the current playlist.

### pl.clear( )

Remove all the songs from the current playlist.

### pl.crop( )

Remove all of the songs from the current playlist \*except\* the current one.

## CHANGING PLAYLIST ORDER

### pl.shuffle( )

Shuffle the current playlist.

### pl.swap( $song1, $song2 )

Swap positions of song number `$song1` and `$song2` in the current playlist.

### pl.swapid( $songid1, $songid2 )

Swap positions of song id `$songid1` and `$songid2` in the current playlist.

### pl.move( $song, $newpos )

Move song number `$song` to the position `$newpos`.

### pl.moveid( $songid, $newpos )

Move song id `$songid` to the position `$newpos`.

## MANAGING PLAYLISTS

### pl.load( $playlist )

Load list of songs from specified `$playlist` file.

### pl.save( $playlist )

Save the current playlist to a file called `$playlist` in MPD's playlist directory.

### pl.rm( $playlist )

Delete playlist named `$playlist` from MPD's playlist directory.

## AUTHOR

Jerome Quelin

## COPYRIGHT AND LICENSE

This software is copyright (c) 2007 by Jerome Quelin.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
