output.h File Reference

MPD client library. More...

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

Go to the source code of this file.

## Functions

struct mpd_output * | mpd_output_begin (const struct mpd_pair *pair)
bool | mpd_output_feed (struct mpd_output *output, const struct mpd_pair *pair)
void | mpd_output_free (struct mpd_output *output)
unsigned | mpd_output_get_id (const struct mpd_output *output)
const char * | mpd_output_get_name (const struct mpd_output *output)
const char * | mpd_output_get_plugin (const struct mpd_output *output)
bool | mpd_output_get_enabled (const struct mpd_output *output)
const char * | mpd_output_get_attribute (const struct mpd_output *output, const char *name)
const struct mpd_pair * | mpd_output_first_attribute (struct mpd_output *output)
const struct mpd_pair * | mpd_output_next_attribute (struct mpd_output *output)
bool | mpd_send_outputs (struct mpd_connection *connection)
struct mpd_output * | mpd_recv_output (struct mpd_connection *connection)
bool | mpd_send_enable_output (struct mpd_connection *connection, unsigned output_id)
bool | mpd_run_enable_output (struct mpd_connection *connection, unsigned output_id)
bool | mpd_send_disable_output (struct mpd_connection *connection, unsigned output_id)
bool | mpd_run_disable_output (struct mpd_connection *connection, unsigned output_id)
bool | mpd_send_toggle_output (struct mpd_connection *connection, unsigned output_id)
bool | mpd_run_toggle_output (struct mpd_connection *connection, unsigned output_id)
bool | mpd_send_output_set (struct mpd_connection *connection, unsigned output_id, const char *attribute_name, const char *attribute_value)
bool | mpd_run_output_set (struct mpd_connection *connection, unsigned output_id, const char *attribute_name, const char *attribute_value)
bool | mpd_send_move_output (struct mpd_connection *connection, const char *output_name)
bool | mpd_run_move_output (struct mpd_connection *connection, const char *output_name)

## Detailed Description

MPD client library.

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

Definition in file output.h.

## Function Documentation

## mpd_output_begin()

struct mpd_output * mpd_output_begin | ( | const struct mpd_pair * | pair | ) |

Begins parsing a new mpd_output.

Parameters

  pair | the first pair in this output (name is "outputid")

Returns
  the new mpd_output object, or NULL on error (out of memory, or wrong pair name)

## mpd_output_feed()

bool mpd_output_feed | ( | struct mpd_output * | output,
|  | const struct mpd_pair * | pair )

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

Returns
  true if the pair was parsed and added to the output (or if the pair was not understood and ignored), false if this pair is the beginning of the next output

## mpd_output_free()

void mpd_output_free | ( | struct mpd_output * | output | ) |

Frees a mpd_output object returned from mpd_recv_output() or mpd_output_begin().

## mpd_output_get_id()

unsigned mpd_output_get_id | ( | const struct mpd_output * | output | ) |

Returns
  the id of the specified mpd_output object

## mpd_output_get_name()

const char * mpd_output_get_name | ( | const struct mpd_output * | output | ) |

Returns
  the configured name of the specified mpd_output object

## mpd_output_get_plugin()

const char * mpd_output_get_plugin | ( | const struct mpd_output * | output | ) |

Returns
  the plugin of the specified mpd_output object, or NULL if none was specified by the server

Since
  libmpdclient 2.14, MPD 0.21

## mpd_output_get_enabled()

bool mpd_output_get_enabled | ( | const struct mpd_output * | output | ) |

Returns
  true if this output is enabled

## mpd_output_get_attribute()

const char * mpd_output_get_attribute | ( | const struct mpd_output * | output,
|  | const char * | name )

Find an attribute with the given name and return its value.

Returns
  the attribute value or NULL if there is no such attributes

Since
  libmpdclient 2.16, MPD 0.21

## mpd_output_first_attribute()

const struct mpd_pair * mpd_output_first_attribute | ( | struct mpd_output * | output | ) |

Obtains the first attribute for this output. This rewinds the current attribute pointer to the start. Call mpd_output_next_attribute() to obtain more attributes.

Returns
  a pointer to the first attribute or NULL if there are no attributes

Since
  libmpdclient 2.14, MPD 0.21

## mpd_output_next_attribute()

const struct mpd_pair * mpd_output_next_attribute | ( | struct mpd_output * | output | ) |

Obtains the next attribute for this output. Call this function repeatedly until it returns NULL to get a full list of attributes.

Returns
  a pointer to the next attribute or NULL if there are no more attributes

Since
  libmpdclient 2.14, MPD 0.21

## mpd_send_outputs()

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

Sends the "outputs" command to MPD: fetch information about all outputs. Call mpd_recv_output() to read the response.

Parameters

  connection | A valid and connected mpd_connection.

Returns
  true on success

## mpd_recv_output()

struct mpd_output * mpd_recv_output | ( | struct mpd_connection * | connection | ) |

Reads the next mpd_output from the MPD response. Free the return value with mpd_output_free().

Returns
  a mpd_output object on success, NULL on error or end-of-response

## mpd_send_enable_output()

bool mpd_send_enable_output | ( | struct mpd_connection * | connection,
|  | unsigned | output_id )

Sends the "enableoutput" command to MPD.

Parameters

  connection | A valid and connected mpd_connection.
  output_id | an identifier for the output device (see mpd_recv_output())

Returns
  true on success

## mpd_run_enable_output()

bool mpd_run_enable_output | ( | struct mpd_connection * | connection,
|  | unsigned | output_id )

Shortcut for mpd_send_enable_output() and mpd_response_finish().

Parameters

  connection | A valid and connected mpd_connection.
  output_id | an identifier for the output device (see mpd_recv_output())

Returns
  true on success

## mpd_send_disable_output()

bool mpd_send_disable_output | ( | struct mpd_connection * | connection,
|  | unsigned | output_id )

Sends the "disableoutput" command to MPD.

Parameters

  connection | A valid and connected mpd_connection.
  output_id | an identifier for the output device (see mpd_recv_output())

Returns
  true on success

## mpd_run_disable_output()

bool mpd_run_disable_output | ( | struct mpd_connection * | connection,
|  | unsigned | output_id )

Shortcut for mpd_send_disable_output() and mpd_response_finish().

Parameters

  connection | A valid and connected mpd_connection.
  output_id | an identifier for the output device (see mpd_recv_output())

Returns
  true on success

## mpd_send_toggle_output()

bool mpd_send_toggle_output | ( | struct mpd_connection * | connection,
|  | unsigned | output_id )

Sends the "toggleoutput" command to MPD.

Parameters

  connection | a valid and connected mpd_connection.
  output_id | an identifier for the output device (see mpd_recv_output())

Returns
  true on success

Since
  libmpdclient 2.9

## mpd_run_toggle_output()

bool mpd_run_toggle_output | ( | struct mpd_connection * | connection,
|  | unsigned | output_id )

Shortcut for mpd_send_toggle_output() and mpd_response_finish().

Parameters

  connection | a valid and connected mpd_connection.
  output_id | an identifier for the output device (see mpd_recv_output())

Returns
  true on success

Since
  libmpdclient 2.9

## mpd_send_output_set()

bool mpd_send_output_set | ( | struct mpd_connection * | connection,
|  | unsigned | output_id,
|  | const char * | attribute_name,
|  | const char * | attribute_value )

Sends the "outputset" command to MPD: set a runtime attribute for the specified output_id.

Parameters

  connection | a valid and connected mpd_connection
  output_id | an identifier for the output device (see mpd_recv_output())
  attribute_name | the attribute name
  attribute_value | the attribute value

Returns
  true on success

Since
  libmpdclient 2.14, MPD 0.21

## mpd_run_output_set()

bool mpd_run_output_set | ( | struct mpd_connection * | connection,
|  | unsigned | output_id,
|  | const char * | attribute_name,
|  | const char * | attribute_value )

Shortcut for mpd_send_output_set() and mpd_response_finish().

Since
  libmpdclient 2.14, MPD 0.21

## mpd_send_move_output()

bool mpd_send_move_output | ( | struct mpd_connection * | connection,
|  | const char * | output_name )

Move an output to the current partition.

Parameters

  connection | the connection to MPD
  output_name | the name of the output to be moved

Returns
  true on success

Since
  libmpdclient 2.18, MPD 0.22.

## mpd_run_move_output()

bool mpd_run_move_output | ( | struct mpd_connection * | connection,
|  | const char * | output_name )

Shortcut for mpd_send_move_output() and mpd_response_finish().

Parameters

  connection | the connection to MPD
  output_name | the name of the output to be moved

Returns
  true on success

Since
  libmpdclient 2.18, MPD 0.22.