VLC 4.0.0-dev
Loading...
Searching...
No Matches
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 }
 
enum  vlc_playlist_preparsing { VLC_PLAYLIST_PREPARSING_DISABLED , VLC_PLAYLIST_PREPARSING_ENABLED , VLC_PLAYLIST_PREPARSING_COLLAPSE , VLC_PLAYLIST_PREPARSING_RECURSIVE }
 Preparsing depth. More...
 
enum  vlc_playlist_media_stopped_action { VLC_PLAYLIST_MEDIA_STOPPED_CONTINUE , VLC_PLAYLIST_MEDIA_STOPPED_PAUSE , VLC_PLAYLIST_MEDIA_STOPPED_STOP , VLC_PLAYLIST_MEDIA_STOPPED_EXIT }
 Action when a media is stopped. More...
 

Functions

void vlc_playlist_item_Hold (vlc_playlist_item_t *)
 Hold a playlist item.
 
void vlc_playlist_item_Release (vlc_playlist_item_t *)
 Release a playlist item.
 
input_item_tvlc_playlist_item_GetMedia (vlc_playlist_item_t *)
 Return the media associated to the playlist item.
 
uint64_t vlc_playlist_item_GetId (vlc_playlist_item_t *)
 Return a unique id for the playlist item instance.
 
vlc_playlist_tvlc_playlist_New (vlc_object_t *parent, enum vlc_playlist_preparsing rec, unsigned preparse_max_threads, vlc_tick_t preparse_timeout)
 Create a new playlist.
 
void vlc_playlist_Delete (vlc_playlist_t *)
 Delete a playlist.
 
void vlc_playlist_Lock (vlc_playlist_t *)
 Lock the playlist/player.
 
void vlc_playlist_Unlock (vlc_playlist_t *)
 Unlock the playlist/player.
 
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.
 
void vlc_playlist_RemoveListener (vlc_playlist_t *playlist, vlc_playlist_listener_id *id)
 Remove a player listener.
 
void vlc_playlist_SetMediaStoppedAction (vlc_playlist_t *playlist, enum vlc_playlist_media_stopped_action action)
 Setup an action when a media is stopped.
 
size_t vlc_playlist_Count (vlc_playlist_t *playlist)
 Return the number of items.
 
vlc_playlist_item_tvlc_playlist_Get (vlc_playlist_t *playlist, size_t index)
 Return the item at a given index.
 
void vlc_playlist_Clear (vlc_playlist_t *playlist)
 Clear the playlist.
 
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.
 
static int vlc_playlist_InsertOne (vlc_playlist_t *playlist, size_t index, input_item_t *media)
 Insert a media at a given index.
 
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.
 
static int vlc_playlist_AppendOne (vlc_playlist_t *playlist, input_item_t *media)
 Add a media at the end of the playlist.
 
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.
 
static void vlc_playlist_MoveOne (vlc_playlist_t *playlist, size_t index, size_t target)
 Move an item to a given target index.
 
void vlc_playlist_Remove (vlc_playlist_t *playlist, size_t index, size_t count)
 Remove a slice of items at a given index.
 
static void vlc_playlist_RemoveOne (vlc_playlist_t *playlist, size_t index)
 Remove an item at a given index.
 
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.
 
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.
 
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.
 
void vlc_playlist_Shuffle (vlc_playlist_t *playlist)
 Shuffle the playlist.
 
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.
 
ssize_t vlc_playlist_IndexOf (vlc_playlist_t *playlist, const vlc_playlist_item_t *item)
 Return the index of a given item.
 
ssize_t vlc_playlist_IndexOfMedia (vlc_playlist_t *playlist, const input_item_t *media)
 Return the index of a given media.
 
ssize_t vlc_playlist_IndexOfId (vlc_playlist_t *playlist, uint64_t id)
 Return the index of a given item id.
 
enum vlc_playlist_playback_repeat vlc_playlist_GetPlaybackRepeat (vlc_playlist_t *playlist)
 Return the playback "repeat" mode.
 
enum vlc_playlist_playback_order vlc_playlist_GetPlaybackOrder (vlc_playlist_t *playlist)
 Return the playback order.
 
void vlc_playlist_SetPlaybackRepeat (vlc_playlist_t *playlist, enum vlc_playlist_playback_repeat repeat)
 Change the playback "repeat" mode.
 
void vlc_playlist_SetPlaybackOrder (vlc_playlist_t *playlist, enum vlc_playlist_playback_order order)
 Change the playback order.
 
ssize_t vlc_playlist_GetCurrentIndex (vlc_playlist_t *playlist)
 Return the index of the current item.
 
bool vlc_playlist_HasPrev (vlc_playlist_t *playlist)
 Indicate whether a previous item is available.
 
bool vlc_playlist_HasNext (vlc_playlist_t *playlist)
 Indicate whether a next item is available.
 
int vlc_playlist_Prev (vlc_playlist_t *playlist)
 Go to the previous item.
 
int vlc_playlist_Next (vlc_playlist_t *playlist)
 Go to the next item.
 
int vlc_playlist_GoTo (vlc_playlist_t *playlist, ssize_t index)
 Go to a given index.
 
int vlc_playlist_RequestGoTo (vlc_playlist_t *playlist, vlc_playlist_item_t *item, ssize_t index_hint)
 Go to a given item.
 
vlc_player_tvlc_playlist_GetPlayer (vlc_playlist_t *playlist)
 Return the player owned by the playlist.
 
int vlc_playlist_Start (vlc_playlist_t *playlist)
 Start the player.
 
void vlc_playlist_Stop (vlc_playlist_t *playlist)
 Stop the player.
 
void vlc_playlist_Pause (vlc_playlist_t *playlist)
 Pause the player.
 
void vlc_playlist_Resume (vlc_playlist_t *playlist)
 Resume the player.
 
static int vlc_playlist_PlayAt (vlc_playlist_t *playlist, size_t index)
 Go to the given index and plays the corresponding item.
 
int vlc_playlist_Export (vlc_playlist_t *playlist, const char *filename, const char *type)
 Export the playlist to a file.