---
name: "Audio::MPD::Playlist"
section: "3pm"
platform: "linux"
package: "libaudio-mpd-perl"
version: "2.004-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Audio::MPD::Playlist"
---

# Audio::MPD::Playlist(3pm)

class to mess MPD's playlist

## NAME

Audio::MPD::Playlist - class to mess MPD's playlist

## VERSION

version 2.004

## SYNOPSIS

```
    $mpd->playlist->shuffle;
    # and lots of other methods
```

## DESCRIPTION

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

Note that you're not supposed to call the constructor yourself, an Audio::MPD::Playlist is automatically created for you during the creation of an Audio::MPD object - it can then be used with the `"playlist()"` accessor.

## RETRIEVING INFORMATION

### as\_items

```
    my @items = $pl->as_items;
```

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

### items\_changed\_since

```
    my @items = $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

### add

```
    $pl->add( $path [, $path [...] ] );
```

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

### delete

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

Remove the specified `$song` numbers (starting from 0) from the current playlist. No return value.

### deleteid

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

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

### clear

```
    $pl->clear;
```

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

### crop

```
    $pl->crop;
```

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

## CHANGING PLAYLIST ORDER

### shuffle

```
    $pl->shuffle;
```

Shuffle the current playlist. No return value.

### swap

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

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

### swapid

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

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

### move

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

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

### moveid

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

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

## MANAGING PLAYLISTS

### load

```
    $pl->load( $playlist );
```

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

### save

```
    $pl->save( $playlist );
```

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

### rm

```
    $pl->rm( $playlist );
```

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

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