MPD

- Main Page
- Data Structures
- Files

- File List
- Globals

Data Structures | Enumerations | Functions | Variables

# src/player_control.h File Reference

`#include "notify.h"`
`#include "audio_format.h"`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures
struct | player_status
struct | player_control
## Enumerations
enum | player_state { PLAYER_STATE_STOP = 0, PLAYER_STATE_PAUSE, PLAYER_STATE_PLAY }
enum | player_command { PLAYER_COMMAND_NONE = 0, PLAYER_COMMAND_EXIT, PLAYER_COMMAND_STOP, PLAYER_COMMAND_PAUSE, PLAYER_COMMAND_SEEK, PLAYER_COMMAND_CLOSE_AUDIO, PLAYER_COMMAND_UPDATE_AUDIO, PLAYER_COMMAND_QUEUE, PLAYER_COMMAND_CANCEL, PLAYER_COMMAND_REFRESH }
enum | player_error { PLAYER_ERROR_NOERROR = 0, PLAYER_ERROR_FILE, PLAYER_ERROR_AUDIO, PLAYER_ERROR_SYSTEM, PLAYER_ERROR_UNKTYPE, PLAYER_ERROR_FILENOTFOUND }
## Functions
void | pc_init (unsigned buffer_chunks, unsigned buffered_before_play)
void | pc_deinit (void)
static void | player_lock (void)
| Locks the player_control object.
static void | player_unlock (void)
| Unlocks the player_control object.
static void | player_wait (void)
| Waits for a signal on the player_control object.
void | player_wait_decoder (struct decoder_control *dc)
| Waits for a signal on the player_control object.
static void | player_signal (void)
| Signals the player_control object.
static void | player_lock_signal (void)
| Signals the player_control object.
void | pc_song_deleted (const struct song *song)
| Call this function when the specified song pointer is about to be invalidated.
void | pc_play (struct song *song)
void | pc_cancel (void)
| see PLAYER_COMMAND_CANCEL
void | pc_set_pause (bool pause_flag)
void | pc_pause (void)
void | pc_kill (void)
void | pc_get_status (struct player_status *status)
enum player_state | pc_get_state (void)
void | pc_clear_error (void)
char * | pc_get_error_message (void)
| Returns the human-readable message describing the last error during playback, NULL if no error occurred.
enum player_error | pc_get_error (void)
void | pc_stop (void)
void | pc_update_audio (void)
void | pc_enqueue_song (struct song *song)
bool | pc_seek (struct song *song, float seek_time)
| Makes the player thread seek the specified song to a position.
void | pc_set_cross_fade (float cross_fade_seconds)
float | pc_get_cross_fade (void)
void | pc_set_mixramp_db (float mixramp_db)
float | pc_get_mixramp_db (void)
void | pc_set_mixramp_delay (float mixramp_delay_seconds)
float | pc_get_mixramp_delay (void)
double | pc_get_total_play_time (void)
## Variables
struct player_control | pc

## Enumeration Type Documentation

enum player_command

Enumerator:

  PLAYER_COMMAND_NONE |
  PLAYER_COMMAND_EXIT |
  PLAYER_COMMAND_STOP |
  PLAYER_COMMAND_PAUSE |
  PLAYER_COMMAND_SEEK |
  PLAYER_COMMAND_CLOSE_AUDIO |
  PLAYER_COMMAND_UPDATE_AUDIO | At least one audio_output.enabled flag has been modified; commit those changes to the output threads.
  PLAYER_COMMAND_QUEUE | player_control.next_song has been updated
  PLAYER_COMMAND_CANCEL | cancel pre-decoding player_control.next_song; if the player has already started playing this song, it will completely stop
  PLAYER_COMMAND_REFRESH | Refresh status information in the player_control struct, e.g. elapsed_time.

Definition at line 36 of file player_control.h.

enum player_error

Enumerator:

  PLAYER_ERROR_NOERROR |
  PLAYER_ERROR_FILE |
  PLAYER_ERROR_AUDIO |
  PLAYER_ERROR_SYSTEM |
  PLAYER_ERROR_UNKTYPE |
  PLAYER_ERROR_FILENOTFOUND |

Definition at line 67 of file player_control.h.

enum player_state

Enumerator:

  PLAYER_STATE_STOP |
  PLAYER_STATE_PAUSE |
  PLAYER_STATE_PLAY |

Definition at line 30 of file player_control.h.

## Function Documentation

void pc_cancel | ( | void |  | ) |

see PLAYER_COMMAND_CANCEL

void pc_clear_error | ( | void |  | ) |

void pc_deinit | ( | void |  | ) |

void pc_enqueue_song | ( | struct song * | song | ) |

float pc_get_cross_fade | ( | void |  | ) |

enum player_error pc_get_error | ( | void |  | ) |

char* pc_get_error_message | ( | void |  | ) |

Returns the human-readable message describing the last error during playback, NULL if no error occurred.

The caller has to free the returned string.

float pc_get_mixramp_db | ( | void |  | ) |

float pc_get_mixramp_delay | ( | void |  | ) |

enum player_state pc_get_state | ( | void |  | ) |

void pc_get_status | ( | struct player_status * | status | ) |

double pc_get_total_play_time | ( | void |  | ) |

void pc_init | ( | unsigned | buffer_chunks,
|  | unsigned | buffered_before_play
| ) |  |

void pc_kill | ( | void |  | ) |

void pc_pause | ( | void |  | ) |

void pc_play | ( | struct song * | song | ) |

bool pc_seek | ( | struct song * | song,
|  | float | seek_time
| ) |  |

Makes the player thread seek the specified song to a position.

Returns:
  true on success, false on failure (e.g. if MPD isn't playing currently)

void pc_set_cross_fade | ( | float | cross_fade_seconds | ) |

void pc_set_mixramp_db | ( | float | mixramp_db | ) |

void pc_set_mixramp_delay | ( | float | mixramp_delay_seconds | ) |

void pc_set_pause | ( | bool | pause_flag | ) |

void pc_song_deleted | ( | const struct song * | song | ) |

Call this function when the specified song pointer is about to be invalidated.

This makes sure that player_control.errored_song does not point to an invalid pointer.

void pc_stop | ( | void |  | ) |

void pc_update_audio | ( | void |  | ) |

static void player_lock | ( | void |  | ) | `[inline, static]`

Locks the player_control object.

Definition at line 129 of file player_control.h.

static void player_lock_signal | ( | void |  | ) | `[inline, static]`

Signals the player_control object.

The object is temporarily locked by this function.

Definition at line 179 of file player_control.h.

static void player_signal | ( | void |  | ) | `[inline, static]`

Signals the player_control object.

The object should be locked prior to calling this function.

Definition at line 169 of file player_control.h.

static void player_unlock | ( | void |  | ) | `[inline, static]`

Unlocks the player_control object.

Definition at line 138 of file player_control.h.

static void player_wait | ( | void |  | ) | `[inline, static]`

Waits for a signal on the player_control object.

This function is only valid in the player thread. The object must be locked prior to calling this function.

Definition at line 149 of file player_control.h.

void player_wait_decoder | ( | struct decoder_control * | dc | ) |

Waits for a signal on the player_control object.

This function is only valid in the player thread. The decoder_control object must be locked prior to calling this function.

Note the small difference to the player_wait() function!

## Variable Documentation

struct player_control pc