src/player_control.h File Reference

#include "audio_format.h"
#include <glib.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

struct player_controlpc_new (unsigned buffer_chunks, unsigned buffered_before_play)
void pc_free (struct player_control *pc)
static void player_lock (struct player_control *pc)
 Locks the player_control object.
static void player_unlock (struct player_control *pc)
 Unlocks the player_control object.
static void player_wait (struct player_control *pc)
 Waits for a signal on the player_control object.
void player_wait_decoder (struct player_control *pc, struct decoder_control *dc)
 Waits for a signal on the player_control object.
static void player_signal (struct player_control *pc)
 Signals the player_control object.
static void player_lock_signal (struct player_control *pc)
 Signals the player_control object.
void pc_song_deleted (struct player_control *pc, const struct song *song)
 Call this function when the specified song pointer is about to be invalidated.
void pc_play (struct player_control *pc, struct song *song)
void pc_cancel (struct player_control *pc)
 see PLAYER_COMMAND_CANCEL
void pc_set_pause (struct player_control *pc, bool pause_flag)
void pc_pause (struct player_control *pc)
void pc_set_border_pause (struct player_control *pc, bool border_pause)
 Set the player's border_pause flag.
void pc_kill (struct player_control *pc)
void pc_get_status (struct player_control *pc, struct player_status *status)
enum player_state pc_get_state (struct player_control *pc)
void pc_clear_error (struct player_control *pc)
char * pc_get_error_message (struct player_control *pc)
 Returns the human-readable message describing the last error during playback, NULL if no error occurred.
enum player_error pc_get_error (struct player_control *pc)
void pc_stop (struct player_control *pc)
void pc_update_audio (struct player_control *pc)
void pc_enqueue_song (struct player_control *pc, struct song *song)
bool pc_seek (struct player_control *pc, struct song *song, float seek_time)
 Makes the player thread seek the specified song to a position.
void pc_set_cross_fade (struct player_control *pc, float cross_fade_seconds)
float pc_get_cross_fade (const struct player_control *pc)
void pc_set_mixramp_db (struct player_control *pc, float mixramp_db)
float pc_get_mixramp_db (const struct player_control *pc)
void pc_set_mixramp_delay (struct player_control *pc, float mixramp_delay_seconds)
float pc_get_mixramp_delay (const struct player_control *pc)
double pc_get_total_play_time (const struct player_control *pc)

Enumeration Type Documentation

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 37 of file player_control.h.

Enumerator:
PLAYER_ERROR_NOERROR 
PLAYER_ERROR_FILE 
PLAYER_ERROR_AUDIO 
PLAYER_ERROR_SYSTEM 
PLAYER_ERROR_UNKTYPE 
PLAYER_ERROR_FILENOTFOUND 

Definition at line 68 of file player_control.h.

Enumerator:
PLAYER_STATE_STOP 
PLAYER_STATE_PAUSE 
PLAYER_STATE_PLAY 

Definition at line 31 of file player_control.h.


Function Documentation

void pc_cancel ( struct player_control pc  ) 

see PLAYER_COMMAND_CANCEL

void pc_clear_error ( struct player_control pc  ) 
void pc_enqueue_song ( struct player_control pc,
struct song song 
)
void pc_free ( struct player_control pc  ) 
float pc_get_cross_fade ( const struct player_control pc  ) 
enum player_error pc_get_error ( struct player_control pc  ) 
char* pc_get_error_message ( struct player_control pc  ) 

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 ( const struct player_control pc  ) 
float pc_get_mixramp_delay ( const struct player_control pc  ) 
enum player_state pc_get_state ( struct player_control pc  ) 
void pc_get_status ( struct player_control pc,
struct player_status status 
)
double pc_get_total_play_time ( const struct player_control pc  ) 
void pc_kill ( struct player_control pc  ) 
struct player_control* pc_new ( unsigned  buffer_chunks,
unsigned  buffered_before_play 
) [read]
void pc_pause ( struct player_control pc  ) 
void pc_play ( struct player_control pc,
struct song song 
)
bool pc_seek ( struct player_control pc,
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_border_pause ( struct player_control pc,
bool  border_pause 
)

Set the player's border_pause flag.

void pc_set_cross_fade ( struct player_control pc,
float  cross_fade_seconds 
)
void pc_set_mixramp_db ( struct player_control pc,
float  mixramp_db 
)
void pc_set_mixramp_delay ( struct player_control pc,
float  mixramp_delay_seconds 
)
void pc_set_pause ( struct player_control pc,
bool  pause_flag 
)
void pc_song_deleted ( struct player_control pc,
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 ( struct player_control pc  ) 
void pc_update_audio ( struct player_control pc  ) 
static void player_lock ( struct player_control pc  )  [inline, static]

Locks the player_control object.

Definition at line 139 of file player_control.h.

static void player_lock_signal ( struct player_control pc  )  [inline, static]

Signals the player_control object.

The object is temporarily locked by this function.

Definition at line 189 of file player_control.h.

static void player_signal ( struct player_control pc  )  [inline, static]

Signals the player_control object.

The object should be locked prior to calling this function.

Definition at line 179 of file player_control.h.

static void player_unlock ( struct player_control pc  )  [inline, static]

Unlocks the player_control object.

Definition at line 148 of file player_control.h.

static void player_wait ( struct player_control pc  )  [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 159 of file player_control.h.

void player_wait_decoder ( struct player_control pc,
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!


Generated on 9 Aug 2013 for MPD by  doxygen 1.6.1