libmpdclient 2.22
Enumerations | Functions
status.h File Reference

MPD client library. More...

#include "compiler.h"
#include <stdbool.h>
Include dependency graph for status.h:
This graph shows which files directly or indirectly include this file:

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_statusmpd_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_statusmpd_recv_status (struct mpd_connection *connection)
 
struct mpd_statusmpd_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_formatmpd_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

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

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