VLC 4.0.0-dev
vlc_playlist.h File Reference
Include dependency graph for vlc_playlist.h:

Go to the source code of this file.

Data Structures

struct  vlc_playlist_sort_criterion
 
struct  vlc_playlist_callbacks
 Playlist callbacks. More...
 

Typedefs

typedef struct input_item_t input_item_t
 
typedef struct vlc_player_t vlc_player_t
 
typedef struct vlc_playlist vlc_playlist_t
 
typedef struct vlc_playlist_item vlc_playlist_item_t
 
typedef struct vlc_playlist_listener_id vlc_playlist_listener_id
 

Enumerations

enum  vlc_playlist_playback_repeat { VLC_PLAYLIST_PLAYBACK_REPEAT_NONE , VLC_PLAYLIST_PLAYBACK_REPEAT_CURRENT , VLC_PLAYLIST_PLAYBACK_REPEAT_ALL }
 
enum  vlc_playlist_playback_order { VLC_PLAYLIST_PLAYBACK_ORDER_NORMAL , VLC_PLAYLIST_PLAYBACK_ORDER_RANDOM }
 
enum  vlc_playlist_sort_key {
  VLC_PLAYLIST_SORT_KEY_TITLE , VLC_PLAYLIST_SORT_KEY_DURATION , VLC_PLAYLIST_SORT_KEY_ARTIST , VLC_PLAYLIST_SORT_KEY_ALBUM ,
  VLC_PLAYLIST_SORT_KEY_ALBUM_ARTIST , VLC_PLAYLIST_SORT_KEY_GENRE , VLC_PLAYLIST_SORT_KEY_DATE , VLC_PLAYLIST_SORT_KEY_TRACK_NUMBER ,
  VLC_PLAYLIST_SORT_KEY_DISC_NUMBER , VLC_PLAYLIST_SORT_KEY_URL , VLC_PLAYLIST_SORT_KEY_RATING , VLC_PLAYLIST_SORT_KEY_FILE_SIZE ,
  VLC_PLAYLIST_SORT_KEY_FILE_MODIFIED
}
 
enum  vlc_playlist_sort_order { VLC_PLAYLIST_SORT_ORDER_ASCENDING , VLC_PLAYLIST_SORT_ORDER_DESCENDING }
 

Functions

void vlc_playlist_item_Hold (vlc_playlist_item_t *)
 Hold a playlist item. More...
 
void vlc_playlist_item_Release (vlc_playlist_item_t *)
 Release a playlist item. More...
 
input_item_tvlc_playlist_item_GetMedia (vlc_playlist_item_t *)
 Return the media associated to the playlist item. More...
 
uint64_t vlc_playlist_item_GetId (vlc_playlist_item_t *)
 Return a unique id for the playlist item instance. More...
 
vlc_playlist_tvlc_playlist_New (vlc_object_t *parent)
 Create a new playlist. More...
 
void vlc_playlist_Delete (vlc_playlist_t *)
 Delete a playlist. More...
 
void vlc_playlist_Lock (vlc_playlist_t *)
 Lock the playlist/player. More...
 
void vlc_playlist_Unlock (vlc_playlist_t *)
 Unlock the playlist/player. More...
 
vlc_playlist_listener_idvlc_playlist_AddListener (vlc_playlist_t *playlist, const struct vlc_playlist_callbacks *cbs, void *userdata, bool notify_current_state)
 Add a playlist listener. More...
 
void vlc_playlist_RemoveListener (vlc_playlist_t *playlist, vlc_playlist_listener_id *id)
 Remove a player listener. More...
 
size_t vlc_playlist_Count (vlc_playlist_t *playlist)
 Return the number of items. More...
 
vlc_playlist_item_tvlc_playlist_Get (vlc_playlist_t *playlist, size_t index)
 Return the item at a given index. More...
 
void vlc_playlist_Clear (vlc_playlist_t *playlist)
 Clear the playlist. More...
 
int vlc_playlist_Insert (vlc_playlist_t *playlist, size_t index, input_item_t *const media[], size_t count)
 Insert a list of media at a given index. More...
 
static int vlc_playlist_InsertOne (vlc_playlist_t *playlist, size_t index, input_item_t *media)
 Insert a media at a given index. More...
 
static int vlc_playlist_Append (vlc_playlist_t *playlist, input_item_t *const media[], size_t count)
 Add a list of media at the end of the playlist. More...
 
static int vlc_playlist_AppendOne (vlc_playlist_t *playlist, input_item_t *media)
 Add a media at the end of the playlist. More...
 
void vlc_playlist_Move (vlc_playlist_t *playlist, size_t index, size_t count, size_t target)
 Move a slice of items to a given target index. More...
 
static void vlc_playlist_MoveOne (vlc_playlist_t *playlist, size_t index, size_t target)
 Move an item to a given target index. More...
 
void vlc_playlist_Remove (vlc_playlist_t *playlist, size_t index, size_t count)
 Remove a slice of items at a given index. More...
 
static void vlc_playlist_RemoveOne (vlc_playlist_t *playlist, size_t index)
 Remove an item at a given index. More...
 
int vlc_playlist_RequestInsert (vlc_playlist_t *playlist, size_t index, input_item_t *const media[], size_t count)
 Insert a list of media at a given index (if in range), or append. More...
 
int vlc_playlist_RequestMove (vlc_playlist_t *playlist, vlc_playlist_item_t *const items[], size_t count, size_t target, ssize_t index_hint)
 Move a slice of items by value. More...
 
int vlc_playlist_RequestRemove (vlc_playlist_t *playlist, vlc_playlist_item_t *const items[], size_t count, ssize_t index_hint)
 Remove a slice of items by value. More...
 
void vlc_playlist_Shuffle (vlc_playlist_t *playlist)
 Shuffle the playlist. More...
 
int vlc_playlist_Sort (vlc_playlist_t *playlist, const struct vlc_playlist_sort_criterion criteria[], size_t count)
 Sort the playlist by a list of criteria. More...
 
ssize_t vlc_playlist_IndexOf (vlc_playlist_t *playlist, const vlc_playlist_item_t *item)
 Return the index of a given item. More...
 
ssize_t vlc_playlist_IndexOfMedia (vlc_playlist_t *playlist, const input_item_t *media)
 Return the index of a given media. More...
 
ssize_t vlc_playlist_IndexOfId (vlc_playlist_t *playlist, uint64_t id)
 Return the index of a given item id. More...
 
enum vlc_playlist_playback_repeat vlc_playlist_GetPlaybackRepeat (vlc_playlist_t *playlist)
 Return the playback "repeat" mode. More...
 
enum vlc_playlist_playback_order vlc_playlist_GetPlaybackOrder (vlc_playlist_t *playlist)
 Return the playback order. More...
 
void vlc_playlist_SetPlaybackRepeat (vlc_playlist_t *playlist, enum vlc_playlist_playback_repeat repeat)
 Change the playback "repeat" mode. More...
 
void vlc_playlist_SetPlaybackOrder (vlc_playlist_t *playlist, enum vlc_playlist_playback_order order)
 Change the playback order. More...
 
ssize_t vlc_playlist_GetCurrentIndex (vlc_playlist_t *playlist)
 Return the index of the current item. More...
 
bool vlc_playlist_HasPrev (vlc_playlist_t *playlist)
 Indicate whether a previous item is available. More...
 
bool vlc_playlist_HasNext (vlc_playlist_t *playlist)
 Indicate whether a next item is available. More...
 
int vlc_playlist_Prev (vlc_playlist_t *playlist)
 Go to the previous item. More...
 
int vlc_playlist_Next (vlc_playlist_t *playlist)
 Go to the next item. More...
 
int vlc_playlist_GoTo (vlc_playlist_t *playlist, ssize_t index)
 Go to a given index. More...
 
int vlc_playlist_RequestGoTo (vlc_playlist_t *playlist, vlc_playlist_item_t *item, ssize_t index_hint)
 Go to a given item. More...
 
vlc_player_tvlc_playlist_GetPlayer (vlc_playlist_t *playlist)
 Return the player owned by the playlist. More...
 
int vlc_playlist_Start (vlc_playlist_t *playlist)
 Start the player. More...
 
void vlc_playlist_Stop (vlc_playlist_t *playlist)
 Stop the player. More...
 
void vlc_playlist_Pause (vlc_playlist_t *playlist)
 Pause the player. More...
 
void vlc_playlist_Resume (vlc_playlist_t *playlist)
 Resume the player. More...
 
static int vlc_playlist_PlayAt (vlc_playlist_t *playlist, size_t index)
 Go to the given index and plays the corresponding item. More...
 
void vlc_playlist_Preparse (vlc_playlist_t *playlist, input_item_t *media)
 Preparse a media, and expand it in the playlist on subitems added. More...
 
int vlc_playlist_Export (vlc_playlist_t *playlist, const char *filename, const char *type)
 Export the playlist to a file. More...