The current playlist
Prev | Chapter 3. Command reference | Next

## The current playlist

`add` {`URI`}

  Adds the file `URI` to the playlist (directories add recursively). `URI` can also be a single file.

`addid` {`URI`} [`POSITION`]

  Adds a song to the playlist (non-recursive) and returns the song id.

  `URI` is always a single file or URL. For example:

      addid "foo.mp3"
      Id: 999
      OK

`clear`

  Clears the current playlist.

`delete` [{`POS`} | {`START:END`}]

  Deletes a song from the playlist.

`deleteid` {`SONGID`}

  Deletes the song `SONGID` from the playlist

`move` [{`FROM`} | {`START:END`}] {`TO`}

  Moves the song at `FROM` or range of songs at `START:END` to `TO` in the playlist. [5]

`moveid` {`FROM`} {`TO`}

  Moves the song with `FROM` (songid) to `TO` (playlist index) in the playlist. If `TO` is negative, it is relative to the current song in the playlist (if there is one).

`playlist`

  Displays the current playlist.

  ### Note

  Do not use this, instead use playlistinfo.

`playlistfind` {`TAG`} {`NEEDLE`}

  Finds songs in the current playlist with strict matching.

`playlistid` {`SONGID`}

  Displays a list of songs in the playlist. `SONGID` is optional and specifies a single song to display info for.

`playlistinfo` [[`SONGPOS`] | [`START:END`]]

  Displays a list of all songs in the playlist, or if the optional argument is given, displays information only for the song `SONGPOS` or the range of songs `START:END` [5]

`playlistsearch` {`TAG`} {`NEEDLE`}

  Searches case-insensitively for partial matches in the current playlist.

`plchanges` {`VERSION`}

  Displays changed songs currently in the playlist since `VERSION`.

  To detect songs that were deleted at the end of the playlist, use playlistlength returned by status command.

`plchangesposid` {`VERSION`}

  Displays changed songs currently in the playlist since `VERSION`. This function only returns the position and the id of the changed song, not the complete metadata. This is more bandwidth efficient.

  To detect songs that were deleted at the end of the playlist, use playlistlength returned by status command.

`prio` {`PRIORITY`} {`START:END`...}

  Set the priority of the specified songs. A higher priority means that it will be played first when "random" mode is enabled.

  A priority is an integer between 0 and 255. The default priority of new songs is 0.

`prioid` {`PRIORITY`} {`ID`...}

  Same as prio, but address the songs with their id.

`rangeid` {`ID`} {`START:END`}

  [6] Specifies the portion of the song that shall be played. `START` and `END` are offsets in seconds (fractional seconds allowed); both are optional. Omitting both (i.e. sending just ":") means "remove the range, play everything". A song that is currently playing cannot be manipulated this way.

`shuffle` [`START:END`]

  Shuffles the current playlist. `START:END` is optional and specifies a range of songs.

`swap` {`SONG1`} {`SONG2`}

  Swaps the positions of `SONG1` and `SONG2`.

`swapid` {`SONG1`} {`SONG2`}

  Swaps the positions of `SONG1` and `SONG2` (both song ids).

`addtagid` {`SONGID`} {`TAG`} {`VALUE`}

  Adds a tag to the specified song. Editing song tags is only possible for remote songs. This change is volatile: it may be overwritten by tags received from the server, and the data is gone when the song gets removed from the queue.

`cleartagid` {`SONGID`} [`TAG`]

  Removes tags from the specified song. If `TAG` is not specified, then all tag values will be removed. Editing song tags is only possible for remote songs.

[5] Ranges are supported since MPD 0.15

[6] Since MPD 0.19

Prev | Up | Next
Controlling playback | Home | Stored playlists