libmpdclient: mpd/database.h File Reference

libmpdclient 2.13

Functions
database.h File Reference

Database. More...

Go to the source code of this file.

## Functions
bool | mpd_send_list_all (struct mpd_connection *connection, const char *path)
bool | mpd_send_list_all_meta (struct mpd_connection *connection, const char *path)
bool | mpd_send_list_meta (struct mpd_connection *connection, const char *path)
bool | mpd_send_list_files (struct mpd_connection *connection, const char *uri)
bool | mpd_send_read_comments (struct mpd_connection *connection, const char *path)
bool | mpd_send_update (struct mpd_connection *connection, const char *path)
bool | mpd_send_rescan (struct mpd_connection *connection, const char *path)
unsigned | mpd_recv_update_id (struct mpd_connection *connection)
unsigned | mpd_run_update (struct mpd_connection *connection, const char *path)
unsigned | mpd_run_rescan (struct mpd_connection *connection, const char *path)

## Detailed Description

Database.

This file declares functions which query or update MPD's music database.

Do not include this header directly. Use mpd/client.h instead.

Definition in file database.h.

## Function Documentation

## ◆ mpd_send_list_all()

bool mpd_send_list_all | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Get a recursive list of all directories, songs and playlist from MPD. They are returned without metadata. This is a rather expensive operation, because the response may be large.

Parameters

  connection | the connection to MPD
  path | an optional base path for the query

Returns
  true on success, false on error

## ◆ mpd_send_list_all_meta()

bool mpd_send_list_all_meta | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Like mpd_send_list_all(), but return metadata. This operation is even more expensive, because the response is larger. If it is larger than a configurable server-side limit, MPD may disconnect you.

To read the response, you may use mpd_recv_entity().

Parameters

  connection | the connection to MPD
  path | an optional base path for the query

Returns
  true on success, false on error

## ◆ mpd_send_list_meta()

bool mpd_send_list_meta | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Get a list of all directories, songs and playlist in a directory from MPD, including metadata.

To read the response, you may use mpd_recv_entity().

Parameters

  connection | the connection to MPD
  path | the directory to be listed

Returns
  true on success, false on error

## ◆ mpd_send_list_files()

bool mpd_send_list_files | ( | struct mpd_connection * | connection,
|  | const char * | uri
| ) |  |

Lists the contents of the specified directory, including files are not recognized by MPD (command "listfiles").

To read the response, you may use mpd_recv_entity(). All regular files will be reported as MPD_ENTITY_TYPE_SONG, even if they are not actually songs.

Parameters

  connection | the connection to MPD
  uri | the directory to be listed

Returns
  true on success, false on error

Since
  libmpdclient 2.12, MPD 0.19

## ◆ mpd_send_read_comments()

bool mpd_send_read_comments | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Send "readcomments". Read the "comments" of a song file. This returns key/value pairs which can be read using mpd_recv_pair().

Parameters

  connection | the connection to MPD
  path | the relative path of the song file within the music directory or an arbitrary file path starting with file:///

Returns
  true on success, false on error

Since
  libmpdclient 2.9

## ◆ mpd_send_update()

bool mpd_send_update | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Instructs MPD to update the music database: find new files, remove deleted files, update modified files.

Parameters

  connection | the connection to MPD
  path | optional path to update; if NULL, then all of the music directory is updated

Returns
  true on success, false on error

## ◆ mpd_send_rescan()

bool mpd_send_rescan | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Like mpd_send_update(), but also rescans unmodified files.

Parameters

  connection | the connection to MPD
  path | optional path to update; if NULL, then all of the music directory is updated

Returns
  true on success, false on error

## ◆ mpd_recv_update_id()

unsigned mpd_recv_update_id | ( | struct mpd_connection * | connection | ) |

Receives the id the of the update job which was submitted by mpd_send_update().

Parameters

  connection | the connection to MPD

Returns
  a positive job id on success, 0 on error

## ◆ mpd_run_update()

unsigned mpd_run_update | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Shortcut for mpd_send_update() and mpd_recv_update_id().

Parameters

  connection | the connection to MPD
  path | optional path to update; if NULL, then all of the music directory is updated

Returns
  a positive job id on success, 0 on error

## ◆ mpd_run_rescan()

unsigned mpd_run_rescan | ( | struct mpd_connection * | connection,
|  | const char * | path
| ) |  |

Like mpd_run_update(), but also rescans unmodified files.

Parameters

  connection | the connection to MPD
  path | optional path to update; if NULL, then all of the music directory is updated

Returns
  a positive job id on success, 0 on error