XMMS2(1)

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

SYNOPSIS
xmms2 command

xmms2 mlib command

xmms2 playlist command

xmms2 coll 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 active 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 [playlist] url...
    Adds URL(s) to playlist or the active playlist.

addarg [playlist] url arguments
    Adds an URL to playlist or the active playlist, with arguments.

addid [playlist] medialib_id...
    Adds song(s) to playlist or the active playlist using its Media Library ID.

addpls [playlist] url
    Adds a playlist in a file to playlist or the active playlist.

insert [playlist] pos url
    Adds a URL to playlist or the active playlist at a specific position.

insertid [playlist] pos medialib_id
    Adds a song to playlist or the active playlist at a specific position using its Media Library ID.

radd [playlist] directory
    Adds a directory of songs recursively to playlist or the active playlist.

clear [playlist]
    Clears all entries from playlist or the active playlist.

shuffle [playlist]
    Places the songs in playlist or the active playlist in a random order.

sort property
    Sort the active 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.

sort playlist properties
    Sort playlist based on metadata from the Media Library. Separate the properties with a spaces.

remove [playlist] playlist_position
    Removes a song from playlist or the active playlist at the position given by playlist_position.

list [playlist]
    Lists the contents of playlist or the active 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.

toggleplay
    Toggles playback status between play/pause

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] playlist_position new_position
    Moves the song at playlist position to the position denoted by new_position in playlist or the active playlist.

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.

playlist
    Allows for the manipulation of playlists. The significance of the sub-commands of playlist can be found in the PLAYLIST section of this manual page.

coll
    Allows for the manipulation of collections. The significance of this sub-commands of coll can be found in the COLLECTIONS section of this manual page.

browse url
    Lists the contents of url in a list of encoded urls.

status
    Gives a live status of the currently playing song.

info [id]
    Gives the metadata archived by the Media Library for Media Library id id or the currently playing song.

current [pattern]
    Gives some summary of the currently playing song's meta data. A pattern can be specified in the form "${album} - ${tracknr}". Please be aware of your shells substitution features.

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. 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 pattern
    Searches the Media Library for songs that match pattern criteria and adds them to the current playlist.

search pattern
    Searches and returns a list of songs in the Media Library that match pattern.

    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.

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]
    sets 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]
    Sets 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.

rmprop id key [source]
    Removes properties from the Media Library entry with id and with key key and optionally source source.

addcover file id
    Add a cover image for id(s) id.

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 available 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

timesplayed
    The number of times 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

PLAYLIST
XMMS2 has support for playlists which is tightly coupled with XMMS2's Collections system. Playlist manipulation is accessible with the playlist command of xmms2. xmms2 playlist includes many commands for manipulating and retrieving data about playlists.

The following
    playlist commands are currently recognized:

list
    Lists all currently available playlists.

create [playlistname]
    Create a new playlist named playlistname.

type [playlistname] [type]
    Sets type of the playlist named playlistname to type type. Descriptions of the available types can be found later in the PLAYLIST section of this manual page.

load [playlistname]
    Load a playlist specified by playlistname from the Media Library

remove [playlistname]
    Remove a playlist specified by playlistname from the Media Library

XMMS2 currently supports three types of playlists, each of these playlists has a number of attributes which can be set using the coll attr command described in the COLLECTIONS section of this manual page. The available playlist types are:

list
    A simple list of medialib ids. The list has one attribute:

jumplist which is the name of a playlist to jump to when the list is finished.

queue
    A static playlist which supports a fixed length playlist where songs are removed as they are played. The queue has two attributes:

jumplist which is the name of a playlist to jump to when the queue is finished

history which is the number of played entries to keep before beginning to remove them

pshuffle
    A playlist which picks a configurable number of songs from a collection at random. The pshuffle has three attributes:

jumplist which is the name of a playlist to jump to when the pshuffle is finished. A pshuffle playlist only finishes when the collection from which new songs are pulled dries up, for instance when filtering on timesplayed < 1

history which is the number of played entries to keep before beginning to remove them

upcoming which is the number of unplayed entries to show in the playlist

COLLECTIONS
XMMS2 includes an extremely powerful method for querying and selecting music from the Media Library called Collections. Some of the features of collections are made accessible via the xmms2 client. xmms2 coll includes many commands for manipulating and retrieving data about Collections.

The following
    coll commands are currently recognized:

save [collname] [pattern]
    Save the pattern pattern as a Collection named collname

rename [oldname] [newname]
    Rename a Collection from oldname to newname.

list [namespace]
    List all Collections, or if namespace is specified list only collections in the Collections or Playlists namespace.

query [collname] [order]
    Retrieve information about all media in the Collection named collname ordered by order

queryadd [collname] [order]
    Add all media from the Collection collname ordered by order to the active playlist

find [mid] [namespace]
    Find all collections in namespace that include the media referenced by mid

get [collname]
    Display information about the Collection collname

remove [collname]
    Remove the collection referenced by collname

attr [collname] [attr] [val]
    Set or get an attribute of name attr to value val on Collection collname

xmms2 sometimes requires that the namespace of a Collection be specified in collname. This is done by prepending either Playlists/ or Collections/ to the beginning of the Collection name. If not specified the namespace defaults to Collections.

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 contributors from all over the world.

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