status.h File Reference

MPD client library. More...

`#include "compiler.h"`
`#include <stdbool.h>`

Go to the source code of this file.

## Enumerations

enum | mpd_state { MPD_STATE_UNKNOWN = 0 , MPD_STATE_STOP = 1 , MPD_STATE_PLAY = 2 , MPD_STATE_PAUSE = 3 }
enum | mpd_single_state { MPD_SINGLE_OFF = 0 , MPD_SINGLE_ON , MPD_SINGLE_ONESHOT , MPD_SINGLE_UNKNOWN }
enum | mpd_consume_state { MPD_CONSUME_OFF = 0 , MPD_CONSUME_ON , MPD_CONSUME_ONESHOT , MPD_CONSUME_UNKNOWN }

## Functions

struct mpd_status * | mpd_status_begin (void)
void | mpd_status_feed (struct mpd_status *status, const struct mpd_pair *pair)
bool | mpd_send_status (struct mpd_connection *connection)
struct mpd_status * | mpd_recv_status (struct mpd_connection *connection)
struct mpd_status * | mpd_run_status (struct mpd_connection *connection)
void | mpd_status_free (struct mpd_status *status)
int | mpd_status_get_volume (const struct mpd_status *status)
bool | mpd_status_get_repeat (const struct mpd_status *status)
bool | mpd_status_get_random (const struct mpd_status *status)
enum mpd_single_state | mpd_status_get_single_state (const struct mpd_status *status)
const char * | mpd_lookup_single_state (enum mpd_single_state state)
enum mpd_single_state | mpd_parse_single_state (const char *p)
bool | mpd_status_get_single (const struct mpd_status *status)
enum mpd_consume_state | mpd_status_get_consume_state (const struct mpd_status *status)
const char * | mpd_lookup_consume_state (enum mpd_consume_state state)
enum mpd_consume_state | mpd_parse_consume_state (const char *p)
bool | mpd_status_get_consume (const struct mpd_status *status)
unsigned | mpd_status_get_queue_length (const struct mpd_status *status)
unsigned | mpd_status_get_queue_version (const struct mpd_status *status)
enum mpd_state | mpd_status_get_state (const struct mpd_status *status)
unsigned | mpd_status_get_crossfade (const struct mpd_status *status)
float | mpd_status_get_mixrampdb (const struct mpd_status *status)
float | mpd_status_get_mixrampdelay (const struct mpd_status *status)
int | mpd_status_get_song_pos (const struct mpd_status *status)
int | mpd_status_get_song_id (const struct mpd_status *status)
int | mpd_status_get_next_song_pos (const struct mpd_status *status)
int | mpd_status_get_next_song_id (const struct mpd_status *status)
unsigned | mpd_status_get_elapsed_time (const struct mpd_status *status)
unsigned | mpd_status_get_elapsed_ms (const struct mpd_status *status)
unsigned | mpd_status_get_total_time (const struct mpd_status *status)
unsigned | mpd_status_get_kbit_rate (const struct mpd_status *status)
const struct mpd_audio_format * | mpd_status_get_audio_format (const struct mpd_status *status)
unsigned | mpd_status_get_update_id (const struct mpd_status *status)
const char * | mpd_status_get_partition (const struct mpd_status *status)
const char * | mpd_status_get_error (const struct mpd_status *status)

## Detailed Description

MPD client library.

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

Definition in file status.h.

## Enumeration Type Documentation

## mpd_state

enum mpd_state

MPD's playback state.

Enumerator
MPD_STATE_UNKNOWN | no information available
MPD_STATE_STOP | not playing
MPD_STATE_PLAY | playing
MPD_STATE_PAUSE | playing, but paused

Definition at line 20 of file status.h.

## mpd_single_state

enum mpd_single_state

MPD's single state.

Since
  libmpdclient 2.18, MPD 0.21.

Enumerator
MPD_SINGLE_OFF | disabled
MPD_SINGLE_ON | enabled

MPD_SINGLE_ONESHOT

enables single state (MPD_SINGLE_ONESHOT) for a single song, then MPD disables single state (MPD_SINGLE_OFF) if the current song has played and there is another song in the current playlist

Since
  MPD 0.21

MPD_SINGLE_UNKNOWN | Unknown state

Definition at line 39 of file status.h.

## mpd_consume_state

enum mpd_consume_state

MPD's consume state.

Since
  libmpdclient 2.21, MPD 0.24.

Enumerator
MPD_CONSUME_OFF | disabled
MPD_CONSUME_ON | enabled

MPD_CONSUME_ONESHOT

enables consume state (MPD_CONSUME_ONESHOT) for a single song, then MPD disables consume state (MPD_CONSUME_OFF) if the current song has played.

Since
  MPD 0.24

MPD_CONSUME_UNKNOWN | Unknown state

Definition at line 64 of file status.h.

## Function Documentation

## mpd_status_begin()

struct mpd_status * mpd_status_begin | ( | void |  | ) |

Begins parsing the server status: creates a new empty mpd_status object. Free it with mpd_status_free().

Returns
  the newly allocated mpd_status object, or NULL if out of memory

## mpd_status_feed()

void mpd_status_feed | ( | struct mpd_status * | status,
|  | const struct mpd_pair * | pair
| ) |  |

Parses the pair, adding its information to the specified mpd_status object.

## mpd_send_status()

bool mpd_send_status | ( | struct mpd_connection * | connection | ) |

Sends the "status" command to MPD. Call mpd_recv_status() to read the response.

Returns
  true on success

## mpd_recv_status()

struct mpd_status * mpd_recv_status | ( | struct mpd_connection * | connection | ) |

Receives a mpd_status object from the server.

Returns
  the received mpd_status object, or NULL on error

## mpd_run_status()

struct mpd_status * mpd_run_status | ( | struct mpd_connection * | connection | ) |

Executes the "status" command and reads the response.

Returns
  the mpd_status object returned by the server, or NULL on error

## mpd_status_free()

void mpd_status_free | ( | struct mpd_status * | status | ) |

Releases a mpd_status object.

## mpd_status_get_volume()

int mpd_status_get_volume | ( | const struct mpd_status * | status | ) |

Returns the current volume: 0-100, or -1 when there is no volume support.

## mpd_status_get_repeat()

bool mpd_status_get_repeat | ( | const struct mpd_status * | status | ) |

Returns true if repeat mode is on.

## mpd_status_get_random()

bool mpd_status_get_random | ( | const struct mpd_status * | status | ) |

Returns true if random mode is on.

## mpd_status_get_single_state()

enum mpd_single_state mpd_status_get_single_state | ( | const struct mpd_status * | status | ) |

Returns the current state of single mode on MPD.

If the state is MPD_SINGLE_ONESHOT, MPD will transition to MPD_SINGLE_OFF after a song is played and if there is another song in the queue. The mpd_status object will not be updated accordingly. In this case, you need to call mpd_send_status() and mpd_recv_status() again.

Since
  MPD 0.21, libmpdclient 2.18.

## mpd_lookup_single_state()

const char * mpd_lookup_single_state | ( | enum mpd_single_state | state | ) |

Looks up the name of the specified single mode.

Returns
  the name, or NULL if the single mode is not valid

Since
  libmpdclient 2.21.

## mpd_parse_single_state()

enum mpd_single_state mpd_parse_single_state | ( | const char * | p | ) |

Parse the string to check which single mode it contains.

Returns
  the single mode enum

Since
  libmpdclient 2.21.

## mpd_status_get_single()

bool mpd_status_get_single | ( | const struct mpd_status * | status | ) |

This function is deprecated as it does not distinguish the states of the single mode (added to MPD 0.21). Call mpd_status_get_single_state() in its place.

Returns true if single mode is either on or in oneshot.

## mpd_status_get_consume_state()

enum mpd_consume_state mpd_status_get_consume_state | ( | const struct mpd_status * | status | ) |

Returns the current state of consume mode on MPD.

If the state is MPD_CONSUME_ONESHOT, MPD will transition to MPD_CONSUME_OFF after a song is played. The mpd_status object will not be updated accordingly. In this case, you need to call mpd_send_status() and mpd_recv_status() again.

Since
  MPD 0.24, libmpdclient 2.21.

## mpd_lookup_consume_state()

const char * mpd_lookup_consume_state | ( | enum mpd_consume_state | state | ) |

Looks up the name of the specified consume mode.

Returns
  the name, or NULL if the consume mode is not valid

Since
  libmpdclient 2.21.

## mpd_parse_consume_state()

enum mpd_consume_state mpd_parse_consume_state | ( | const char * | p | ) |

Parse the string to check which consume mode it contains.

Returns
  the consume mode enum

Since
  libmpdclient 2.21.

## mpd_status_get_consume()

bool mpd_status_get_consume | ( | const struct mpd_status * | status | ) |

This function is deprecated as it does not distinguish the states of the consume mode (added to MPD 0.24). Call mpd_status_get_consume_state() in its place.

Returns true if consume mode is either on or in oneshot.

## mpd_status_get_queue_length()

unsigned mpd_status_get_queue_length | ( | const struct mpd_status * | status | ) |

Returns the number of songs in the queue. If MPD did not specify that, this function returns 0.

## mpd_status_get_queue_version()

unsigned mpd_status_get_queue_version | ( | const struct mpd_status * | status | ) |

Returns queue version number. You may use this to determine when the queue has changed since you have last queried it.

## mpd_status_get_state()

enum mpd_state mpd_status_get_state | ( | const struct mpd_status * | status | ) |

Returns the state of the player: either stopped, playing or paused.

## mpd_status_get_crossfade()

unsigned mpd_status_get_crossfade | ( | const struct mpd_status * | status | ) |

Returns crossfade setting in seconds. 0 means crossfading is disabled.

## mpd_status_get_mixrampdb()

float mpd_status_get_mixrampdb | ( | const struct mpd_status * | status | ) |

Returns mixrampdb setting in db. 0 means mixrampdb is disabled.

Since
  libmpdclient 2.2

## mpd_status_get_mixrampdelay()

float mpd_status_get_mixrampdelay | ( | const struct mpd_status * | status | ) |

Returns mixrampdelay setting in seconds. Negative means mixrampdelay is disabled.

Since
  libmpdclient 2.2

## mpd_status_get_song_pos()

int mpd_status_get_song_pos | ( | const struct mpd_status * | status | ) |

Returns the position of the currently playing song in the queue (beginning with 0) if a song is currently selected (always the case when state is MPD_STATE_PLAY or MPD_STATE_PAUSE). If there is no current song, -1 is returned.

## mpd_status_get_song_id()

int mpd_status_get_song_id | ( | const struct mpd_status * | status | ) |

Returns the id of the current song. If there is no current song, -1 is returned.

## mpd_status_get_next_song_pos()

int mpd_status_get_next_song_pos | ( | const struct mpd_status * | status | ) |

The same as mpd_status_get_song_pos(), but for the next song to be played.

Since
  libmpdclient 2.7

## mpd_status_get_next_song_id()

int mpd_status_get_next_song_id | ( | const struct mpd_status * | status | ) |

Returns the id of the next song to be played. If it is not known, -1 is returned.

Since
  libmpdclient 2.7

## mpd_status_get_elapsed_time()

unsigned mpd_status_get_elapsed_time | ( | const struct mpd_status * | status | ) |

This function uses a deprecated feature of MPD, call mpd_status_get_elapsed_ms() instead.

Returns time in seconds that have elapsed in the currently playing/paused song.

## mpd_status_get_elapsed_ms()

unsigned mpd_status_get_elapsed_ms | ( | const struct mpd_status * | status | ) |

Returns time in milliseconds that have elapsed in the currently playing/paused song.

Since
  libmpdclient 2.1

## mpd_status_get_total_time()

unsigned mpd_status_get_total_time | ( | const struct mpd_status * | status | ) |

Returns the length in seconds of the currently playing/paused song

## mpd_status_get_kbit_rate()

unsigned mpd_status_get_kbit_rate | ( | const struct mpd_status * | status | ) |

Returns current bit rate in kbps. 0 means unknown.

## mpd_status_get_audio_format()

const struct mpd_audio_format * mpd_status_get_audio_format | ( | const struct mpd_status * | status | ) |

Returns audio format which MPD is currently playing. May return NULL if MPD is not playing or if the audio format is unknown.

## mpd_status_get_update_id()

unsigned mpd_status_get_update_id | ( | const struct mpd_status * | status | ) |

Returns 1 if mpd is updating, 0 otherwise

## mpd_status_get_partition()

const char * mpd_status_get_partition | ( | const struct mpd_status * | status | ) |

Returns the name of the current partition or NULL if the server did not send a name.

## mpd_status_get_error()

const char * mpd_status_get_error | ( | const struct mpd_status * | status | ) |

Returns the error message