The music database

count {TAG} {NEEDLE}

Counts the number of songs and their total playtime in the db matching TAG exactly.

find {TYPE} {WHAT} [...]

Finds songs in the db that are exactly WHAT. TYPE can be any tag supported by MPD, or one of the three special parameters — file to search by full path (relative to the music directory), in to restrict the search to songs in the given directory (also relative to the music directory) and any to match against all available tags. WHAT is what to find.

findadd {TYPE} {WHAT} [...]

Finds songs in the db that are exactly WHAT and adds them to current playlist. Parameters have the same meaning as for find.

list {TYPE} [ARTIST]

Lists all tags of the specified type. TYPE can be any tag supported by MPD or file.

ARTIST is an optional parameter when type is album, this specifies to list albums by an artist.

listall [URI]

Lists all songs and directories in URI.

listallinfo [URI]

Same as listall, except it also returns metadata info in the same format as lsinfo.

lsinfo [URI]

Lists the contents of the directory URI.

When listing the root directory, this currently returns the list of stored playlists. This behavior is deprecated; use "listplaylists" instead.

Clients that are connected via UNIX domain socket may use this command to read the tags of an arbitrary local file (URI beginning with "file:///").

readcomments [URI]

Read "comments" (i.e. key-value pairs) from the file specified by "URI". This "URI" can be a path relative to the music directory or a URL in the form "file:///foo/bar.ogg".

The response consists of lines in the form "KEY: VALUE". Comments with suspicious characters (e.g. newlines) are ignored silently.

The meaning of these depends on the codec, and not all decoder plugins support it. For example, on Ogg files, this lists the Vorbis comments.

search {TYPE} {WHAT} [...]

Searches for any song that contains WHAT. Parameters have the same meaning as for find, except that search is not case sensitive.

searchadd {TYPE} {WHAT} [...]

Searches for any song that contains WHAT in tag TYPE and adds them to current playlist.

Parameters have the same meaning as for find, except that search is not case sensitive.

searchaddpl {NAME} {TYPE} {WHAT} [...]

Searches for any song that contains WHAT in tag TYPE and adds them to the playlist named NAME.

If a playlist by that name doesn't exist it is created.

Parameters have the same meaning as for find, except that search is not case sensitive.

update [URI]

Updates the music database: find new files, remove deleted files, update modified files.

URI is a particular directory or song/file to update. If you do not specify it, everything is updated.

Prints "updating_db: JOBID" where JOBID is a positive number identifying the update job. You can read the current job id in the status response.

rescan [URI]

Same as update, but also rescans unmodified files.