Go to the documentation of this file.
21 #ifndef VLC_PLAYLIST_NEW_H
22 #define VLC_PLAYLIST_NEW_H
203 size_t target,
void *userdata);
292 bool has_next,
void *userdata);
389 void *userdata,
bool notify_current_state);
595 size_t target, ssize_t index_hint);
VLC_EXPORT ssize_t vlc_playlist_IndexOf(vlc_playlist_t *playlist, const vlc_playlist_item_t *item)
Return the index of a given item.
Definition: content.c:196
@ VLC_PLAYLIST_PLAYBACK_REPEAT_ALL
Definition: vlc_playlist.h:120
size_t count
Definition: core.c:401
#define VLC_API
Definition: fourcc_gen.c:31
void(* on_playback_order_changed)(vlc_playlist_t *playlist, enum vlc_playlist_playback_order order, void *userdata)
Called when the playback order mode has been changed.
Definition: vlc_playlist.h:251
Definition: playlist.h:48
VLC_EXPORT bool vlc_playlist_HasNext(vlc_playlist_t *playlist)
Indicate whether a next item is available.
Definition: control.c:342
@ VLC_PLAYLIST_SORT_ORDER_ASCENDING
Definition: vlc_playlist.h:146
VLC_EXPORT enum vlc_playlist_playback_order vlc_playlist_GetPlaybackOrder(vlc_playlist_t *)
Return the playback order.
Definition: control.c:119
void(* on_has_next_changed)(vlc_playlist_t *playlist, bool has_next, void *userdata)
Called when the "has next item" property has changed.
Definition: vlc_playlist.h:292
@ VLC_PLAYLIST_SORT_KEY_ALBUM
Definition: vlc_playlist.h:134
void(* on_items_moved)(vlc_playlist_t *playlist, size_t index, size_t count, size_t target, void *userdata)
Called when a slice of items have been moved.
Definition: vlc_playlist.h:203
@ VLC_PLAYLIST_SORT_KEY_RATING
Definition: vlc_playlist.h:141
void(* on_items_updated)(vlc_playlist_t *playlist, size_t index, vlc_playlist_item_t *const items[], size_t count, void *userdata)
Called when an item has been updated via (pre-)parsing.
Definition: vlc_playlist.h:227
VLC_EXPORT void vlc_playlist_item_Hold(vlc_playlist_item_t *)
Hold a playlist item.
Definition: item.c:45
VLC_EXPORT ssize_t vlc_playlist_IndexOfId(vlc_playlist_t *playlist, uint64_t id)
Return the index of a given item id.
Definition: content.c:218
VLC_EXPORT void vlc_playlist_Lock(vlc_playlist_t *)
Lock the playlist/player.
Definition: playlist.c:80
@ VLC_PLAYLIST_SORT_KEY_GENRE
Definition: vlc_playlist.h:136
VLC_EXPORT bool vlc_playlist_HasPrev(vlc_playlist_t *playlist)
Indicate whether a previous item is available.
Definition: control.c:335
VLC_EXPORT ssize_t vlc_playlist_GetCurrentIndex(vlc_playlist_t *playlist)
Return the index of the current item.
Definition: control.c:315
@ VLC_PLAYLIST_PLAYBACK_ORDER_RANDOM
Definition: vlc_playlist.h:126
VLC_EXPORT 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.
Definition: request.c:235
@ VLC_PLAYLIST_SORT_KEY_ALBUM_ARTIST
Definition: vlc_playlist.h:135
void(* on_items_added)(vlc_playlist_t *playlist, size_t index, vlc_playlist_item_t *const items[], size_t count, void *userdata)
Called when items have been added to the playlist.
Definition: vlc_playlist.h:189
VLC_EXPORT 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.
Definition: sort.c:363
VLC_EXPORT vlc_playlist_listener_id * vlc_playlist_AddListener(vlc_playlist_t *playlist, const struct vlc_playlist_callbacks *cbs, void *userdata, bool notify_current_state)
Add a playlist listener.
Definition: notify.c:49
VLC_EXPORT vlc_player_t * vlc_playlist_GetPlayer(vlc_playlist_t *playlist)
Return the player owned by the playlist.
Definition: player.c:168
static void vlc_playlist_RemoveOne(vlc_playlist_t *playlist, size_t index)
Remove an item at a given index.
Definition: vlc_playlist.h:544
VLC_EXPORT 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.
Definition: content.c:265
VLC_EXPORT enum vlc_playlist_playback_repeat vlc_playlist_GetPlaybackRepeat(vlc_playlist_t *playlist)
Return the playback "repeat" mode.
Definition: control.c:112
@ VLC_PLAYLIST_SORT_KEY_TITLE
Definition: vlc_playlist.h:131
VLC_EXPORT void vlc_playlist_Stop(vlc_playlist_t *playlist)
Stop the player.
Definition: player.c:180
VLC_EXPORT int vlc_playlist_GoTo(vlc_playlist_t *playlist, ssize_t index)
Go to a given index.
Definition: control.c:405
VLC_EXPORT void vlc_playlist_RemoveListener(vlc_playlist_t *, vlc_playlist_listener_id *)
Remove a player listener.
Definition: notify.c:70
VLC_EXPORT int vlc_playlist_Next(vlc_playlist_t *playlist)
Go to the next item.
Definition: control.c:377
vlc_playlist_sort_key
Definition: vlc_playlist.h:129
VLC_EXPORT ssize_t vlc_playlist_IndexOfMedia(vlc_playlist_t *playlist, const input_item_t *media)
Return the index of a given media.
Definition: content.c:206
VLC_EXPORT void vlc_playlist_Remove(vlc_playlist_t *playlist, size_t index, size_t count)
Remove a slice of items at a given index.
Definition: content.c:306
VLC_EXPORT void vlc_playlist_Preparse(vlc_playlist_t *playlist, input_item_t *media)
Preparse a media, and expand it in the playlist on subitems added.
Definition: preparse.c:115
vlc_playlist_playback_order
Definition: vlc_playlist.h:123
@ VLC_PLAYLIST_SORT_KEY_ARTIST
Definition: vlc_playlist.h:133
@ VLC_PLAYLIST_PLAYBACK_REPEAT_NONE
Definition: vlc_playlist.h:118
static int vlc_playlist_PlayAt(vlc_playlist_t *playlist, size_t index)
Go to the given index and plays the corresponding item.
Definition: vlc_playlist.h:853
VLC_EXPORT input_item_t * vlc_playlist_item_GetMedia(vlc_playlist_item_t *)
Return the media associated to the playlist item.
Definition: item.c:61
void(* on_items_removed)(vlc_playlist_t *playlist, size_t index, size_t count, void *userdata)
Called when a slice of items have been removed from the playlist.
Definition: vlc_playlist.h:214
VLC_EXPORT int vlc_playlist_RequestGoTo(vlc_playlist_t *playlist, vlc_playlist_item_t *item, ssize_t index_hint)
Go to a given item.
Definition: request.c:260
VLC_EXPORT int vlc_playlist_Prev(vlc_playlist_t *playlist)
Go to the previous item.
Definition: control.c:349
VLC_EXPORT void vlc_playlist_Shuffle(vlc_playlist_t *playlist)
Shuffle the playlist.
Definition: shuffle.c:33
VLC_EXPORT void vlc_playlist_Unlock(vlc_playlist_t *)
Unlock the playlist/player.
Definition: playlist.c:86
VLC_EXPORT 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.
Definition: content.c:292
@ VLC_PLAYLIST_SORT_KEY_DURATION
Definition: vlc_playlist.h:132
VLC_EXPORT void vlc_playlist_Pause(vlc_playlist_t *playlist)
Pause the player.
Definition: player.c:186
VLC_EXPORT vlc_playlist_item_t * vlc_playlist_Get(vlc_playlist_t *playlist, size_t index)
Return the item at a given index.
Definition: content.c:189
VLC object common members.
Definition: vlc_objects.h:43
static void vlc_playlist_MoveOne(vlc_playlist_t *playlist, size_t index, size_t target)
Move an item to a given target index.
Definition: vlc_playlist.h:517
@ VLC_PLAYLIST_SORT_KEY_TRACK_NUMBER
Definition: vlc_playlist.h:138
void(* on_items_reset)(vlc_playlist_t *, vlc_playlist_item_t *const items[], size_t count, void *userdata)
Called when the whole content has changed (e.g.
Definition: vlc_playlist.h:176
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
enum vlc_playlist_sort_order order
Definition: vlc_playlist.h:153
static int vlc_playlist_AppendOne(vlc_playlist_t *playlist, input_item_t *media)
Add a media at the end of the playlist.
Definition: vlc_playlist.h:486
VLC_EXPORT uint64_t vlc_playlist_item_GetId(vlc_playlist_item_t *)
Return a unique id for the playlist item instance.
Definition: item.c:67
#define VLC_USED
Definition: fourcc_gen.c:32
VLC_EXPORT void vlc_playlist_SetPlaybackRepeat(vlc_playlist_t *playlist, enum vlc_playlist_playback_repeat repeat)
Change the playback "repeat" mode.
Definition: control.c:126
@ VLC_PLAYLIST_PLAYBACK_ORDER_NORMAL
Definition: vlc_playlist.h:125
VLC_EXPORT 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.
Definition: request.c:31
VLC_EXPORT 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.
Definition: request.c:205
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.
Definition: vlc_playlist.h:471
@ VLC_PLAYLIST_SORT_KEY_DATE
Definition: vlc_playlist.h:137
enum vlc_playlist_sort_key key
Definition: vlc_playlist.h:152
@ VLC_PLAYLIST_SORT_KEY_DISC_NUMBER
Definition: vlc_playlist.h:139
@ VLC_PLAYLIST_SORT_ORDER_DESCENDING
Definition: vlc_playlist.h:147
void(* on_current_index_changed)(vlc_playlist_t *playlist, ssize_t index, void *userdata)
Called when the current item index has changed.
Definition: vlc_playlist.h:266
VLC_EXPORT void vlc_playlist_Resume(vlc_playlist_t *playlist)
Resume the player.
Definition: player.c:192
VLC_EXPORT void vlc_playlist_Clear(vlc_playlist_t *playlist)
Clear the playlist.
Definition: content.c:230
VLC_EXPORT int vlc_playlist_Start(vlc_playlist_t *playlist)
Start the player.
Definition: player.c:174
VLC_EXPORT int vlc_playlist_Export(vlc_playlist_t *playlist, const char *filename, const char *type)
Export the playlist to a file.
Definition: export.c:55
vlc_playlist_playback_repeat
Definition: vlc_playlist.h:116
Definition: vlc_playlist.h:150
vlc_playlist_sort_order
Definition: vlc_playlist.h:144
void(* on_playback_repeat_changed)(vlc_playlist_t *playlist, enum vlc_playlist_playback_repeat repeat, void *userdata)
Called when the playback repeat mode has been changed.
Definition: vlc_playlist.h:239
@ VLC_PLAYLIST_PLAYBACK_REPEAT_CURRENT
Definition: vlc_playlist.h:119
@ VLC_PLAYLIST_SORT_KEY_URL
Definition: vlc_playlist.h:140
Playlist callbacks.
Definition: vlc_playlist.h:164
static int vlc_playlist_InsertOne(vlc_playlist_t *playlist, size_t index, input_item_t *media)
Insert a media at a given index.
Definition: vlc_playlist.h:456
VLC_EXPORT void vlc_playlist_SetPlaybackOrder(vlc_playlist_t *playlist, enum vlc_playlist_playback_order order)
Change the playback order.
Definition: control.c:139
VLC_EXPORT vlc_playlist_t * vlc_playlist_New(vlc_object_t *parent)
Create a new playlist.
Definition: playlist.c:34
VLC_EXPORT size_t vlc_playlist_Count(vlc_playlist_t *playlist)
Return the number of items.
Definition: content.c:182
VLC_EXPORT void vlc_playlist_Delete(vlc_playlist_t *)
Delete a playlist.
Definition: playlist.c:69
VLC_EXPORT void vlc_playlist_item_Release(vlc_playlist_item_t *)
Release a playlist item.
Definition: item.c:51
void(* on_has_prev_changed)(vlc_playlist_t *playlist, bool has_prev, void *userdata)
Called when the "has previous item" property has changed.
Definition: vlc_playlist.h:279