XMMS2(1)

NAME
xmms2 offers a simple command-line interface to the XMMS2 daemon.

SYNOPSIS
xmms2 command

xmms2 mlib command

DESCRIPTION
XMMS2 is a redesign of the XMMS (http://www.xmms.org) music player. It features a client-server model, allowing multiple (even simultaneous!) user interfaces, both textual and graphical. All common audio formats are supported using plugins. On top of this, there is a flexible media library to organize your music.

xmms2 is the official command-line interface client for XMMS2 and acts as a reference implementation for the development of new clients. xmms2 is able to issue commands to control the current playlist and playback as well as commands to control the media library.

The following commands effect the current XMMS2 playlist.

xmms2 includes many commands that allow the user to execute actions on xmms2d.

These commands are currently recognized:

add url
    Adds a URL to the playlist.

addid medialib_id
    Adds a song to the playlist using its Media Library ID.

addpls url
    Adds a .m3u or .pls playlist to the XMMS2 playlist.

radd
    Adds a directory of songs recursively to the playlist.

clear
    Clears all entries from the playlist.

shuffle
    Places the songs in the playlist in a random order.

sort property
    Sort the playlist based on metadata from the Media Library. The metadata which is used for the sorting is based on what was given for property. An overview of the media library, and the potential properties, can be found in the MEDIA LIBRARY section of this manual page.

remove playlist_position
    Removes a song from the playlist at the position given by playlist_position.

list
    Lists the contents of the playlist. An explanation of how to change the output format can be found in the FILES section of this manual page.

play
    Starts playback of the playlist.

stop
    Stops playback of the playlist.

pause
    Pauses playback of the playlist.

next
    Skips to the next song in the playlist.

prev
    Skips to the previous song in the playlist.

seek [+ / -] seconds
    Seeks to a specific position in the currently playing song. The way in which seek moves in the file is based on the arguments passed to it. If + is used xmms2 will seek seconds forward in the song. If - is used xmms2 will seek seconds backwards in the song. If merely a number of seconds is given xmms2 will seek to that absolute position in the song.

jump playlist_position
    Jumps to playlist_position in the playlist.

move playlist_position new_position
    Moves the song at playlist position to the position denoted by new_position.

volume channel volume
    Sets the volume of channel to volume.

volume_list
    Lists the volume for each channel.

mlib
    Allows for the manipulation of the Media Library. The significance of the sub-commands of mlib can be found in the MEDIA LIBRARY section of this manual page.

status
    Gives a live status of the currently playing song.

info
    Gives the metadata archived by the Media Library for the currently playing song.

config config_key value
    Sets config_key to value on xmms2d(8).

config_list
    Lists all the configuration values of XMMS2.

plugin_list
    Prints a list of the plugins being used by XMMS2.

stats
    Retrieves the uptime and version from XMMS2.

quit
    Makes xmms2d(8) quit.

help
    Prints a concise overview of all commands offered by xmms2.

MEDIA LIBRARY
XMMS2 stores metadata about every song in the Media Library. One can retrieve data from the Media Library using the mlib command of xmms2. The Media Library is an SQL database which is created and accessed by use of the sqlite library. The fact that the Media Library is SQL allows for clients to execute complex queries of the database. xmms2 mlib includes many commands for manipulating and retrieving data from the Media Library.

The following
    mlib commands are currently recognized:

add url
    Adds a URL to the Media Library but not to the current playlist. The Media Library also fetches associated metadata for the added song.

loadall
    Load all songs in the Media Library into the current playlist.

searchadd key=value
    Searches the Media Library for songs that match the key=value criteria and adds them to the current playlist.

search key=value
    Searches and returns a list of songs in the Media Library that match the key=value criteria.

    For example one could execute:

    xmms2 mlib search artist=Dismantled

    The result of which would be that all songs by Dismantled in the Media Library would be listed.

query sql_statement
    Queries the Media Library with the given SQL statement.

queryadd sql_statement
    Queries the Media Library with the given SQL statement and adds the returned songs to the current playlist.

list_playlist playlist
    Shows the songs in playlist.

save_playlist playlist
    Saves the songs in the current playlist into a Media Library playlist named playlist.

load_playlist playlist
    Loads the playlist playlist from the Media Library into the current playlist.

playlists_list
    Lists all playlists stored in the Media Library.

import_playlist name filename
    Imports the filename playlist into the Media Library with the name name. The playlist may be in either the .m3u or .pls format.

export_playlist playlist mimetype
    Exports the playlist to stdout. playlist to a file with the mimetype mimetype.

remove_playlist playlist
    Removes the playlist playlist from the Media Library.

addpath path
    Adds all songs in directory path into the Media Library.

rehash
    Force the Media Library to check whether its data is up to date.

remove id
    Removes a song from the Media Library with the id id.

setstr id key value [source]
    Seta a string Media Library property with key key and value value for song with ID id. Optionally a source can be supplied with the source argument. If no source is defined client/xmms2-cli will be used.

setint id key value [source]
    Seta a string Media Library property with key key and value value for song with ID id. Optionally a source can be supplied with the source argument. If no source is defined client/xmms2-cli will be used.

The Media Library allows for any variety of keys (sometimes called properties) to be stored within. There is no set list of available keys but rather the Media Library can store any variety of different values. For this reason it is difficult to give a complete list of avaliable keys but some examples are:

url The path to the song in url

added
    The time in seconds since UTC 00:00:00, 1 Jan 1970 that the song was added to the Media Library

mime
    The MIME type of the song in the Media Library

lmod
    The last time in seconds since UTC 00:00:00, 1 Jan 1970 that the song was modified

laststarted
    The last time the song was played

duration
    The length of the song in milliseconds

bitrate
    The bitrate of the song in bps

album
    The name of the album the song is on

artist
    The name of the artist that produced the song

title
    The title of the song

tracknr
    The track number of the song

{album, artist, track}_id
    MusicBrainz ID numbers for the song

FILES

$XDG_CONFIG_HOME/xmms2/clients/cli.conf or $HOME/Library/xmms2/clients/cli.conf or $HOME/.config/xmms2/clients/cli.conf
    A configuration file containing basic configuration values for xmms2, including the output format used by the list and status commands.

ENVIRONMENTAL VARIABLES

XMMS_PATH
    The URL path to xmms2d.

XDG_CONFIG_HOME
    The path where the xmms2 configuration files are located See IPC SOCKET in xmms2d(8) for details of possible values for this variable

SEE ALSO
xmms2d(8), http://xmms2.xmms.org

HISTORY
The XMMS2 Project was started by Tobias Rundström and Anders Gustafsson. It is developed with their lead by a small group of contributers from all over the world.

AUTHOR
This manual page was written by Alexander Botero-Lowry <alex@foxybanana.com>