---
name: "POE::Component::Client::MPD::Commands"
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::Commands"
---

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

module handling basic mpd commands

## NAME

POE::Component::Client::MPD::Commands - module handling basic mpd commands

## VERSION

version 2.001

## DESCRIPTION

POE::Component::Client::MPD::Commands 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 general purpose events accepted by POCOCM.

## CONTROLLING THE SERVER

### version( )

Return mpd's version number as advertised during connection. Note that mpd returns **protocol** version when connected. This protocol version can differ from the real mpd version. eg, mpd version 0.13.2 is "speaking" and thus advertising version 0.13.0.

### password( $password )

Sends a connection password to mpd. Used internally on connect, but can be called whenever if you're feeling like it.

### kill( )

Kill the mpd server, and request the pococm to be shutdown.

### updatedb( \[$path\] )

Force mpd to rescan its collection. If `$path` (relative to MPD's music directory) is supplied, MPD will only scan it - otherwise, MPD will rescan its whole collection.

### urlhandlers( )

Return an array of supported URL schemes.

## HANDLING VOLUME & OUTPUT

### volume( $volume )

Sets the audio output volume percentage to absolute `$volume`. If `$volume` is prefixed by '+' or '-' then the volume is changed relatively by that value.

### output\_enable( $output )

Enable the specified audio output. `$output` is the ID of the audio output.

### output\_disable( $output )

Disable the specified audio output. `$output` is the ID of the audio output.

## RETRIEVING INFO FROM CURRENT STATE

### stats( )

Return an Audio::MPD::Common::Stats object with the current statistics of MPD.

### status( )

Return an Audio::MPD::Common::Status object with the current status of MPD.

### current( )

Return an Audio::MPD::Common::Item::Song representing the song currently playing.

### song( \[$song\] )

Return an Audio::MPD::Common::Item::Song representing the song number `$song`. If `$song` is not supplied, returns the current song.

### songid( \[$songid\] )

Return an Audio::MPD::Common::Item::Song representing the song id `$songid`. If `$songid` is not supplied, returns the current song.

## ALTERING MPD SETTINGS

### repeat( \[$repeat\] )

Set the repeat mode to `$repeat` (1 or 0). If `$repeat` is not specified then the repeat mode is toggled.

### fade( \[$seconds\] )

Enable crossfading and set the duration of crossfade between songs. If `$seconds` is not specified or `$seconds` is 0, then crossfading is disabled.

### random( \[$random\] )

Set the random mode to `$random` (1 or 0). If `$random` is not specified then the random mode is toggled.

## CONTROLLING PLAYBACK

### play( \[$song\] )

Begin playing playlist at song number `$song`. If no argument supplied, resume playing.

### playid( \[$song\] )

Begin playing playlist at song ID `$song`. If no argument supplied, resume playing.

### pause( \[$sate\] )

Pause playback. If `$state` is 0 then the current track is unpaused, if `$state` is 1 then the current track is paused.

Note that if `$state` is not given, pause state will be toggled.

### stop( )

Stop playback.

### next( )

Play next song in playlist.

### prev( )

Play previous song in playlist.

### seek( $time, \[$song\] )

Seek to `$time` seconds in song number `$song`. If `$song` number is not specified then the perl module will try and seek to `$time` in the current song.

### seekid( $time, \[$songid\] )

Seek to `$time` seconds in song ID `$songid`. If `$songid` number is not specified then the perl module will try and seek to `$time` in the current song.

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