Go to the documentation of this file.
24 #ifndef VLC_PLAYLIST_H_
25 #define VLC_PLAYLIST_H_
170 #define VLC_DEFINE_SORT_FUNCTIONS \
173 DEF( SORT_TITLE_NODES_FIRST )\
176 DEF( SORT_DURATION )\
177 DEF( SORT_TITLE_NUMERIC )\
179 DEF( SORT_TRACK_NUMBER )\
180 DEF( SORT_DESCRIPTION )\
183 DEF( SORT_DISC_NUMBER )\
194 #ifndef VLC_INTERNAL_PLAYLIST_SORT_FUNCTIONS
195 #undef VLC_DEFINE_SORT_FUNCTIONS
204 #define PLAYLIST_END -1
217 #define PL_LOCK playlist_Lock( p_playlist )
218 #define PL_UNLOCK playlist_Unlock( p_playlist )
219 #define PL_ASSERT_LOCKED playlist_AssertLocked( p_playlist )
233 #define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, pl_Unlocked )
234 #define playlist_TogglePause(p) \
235 playlist_Control(p, PLAYLIST_TOGGLE_PAUSE, pl_Unlocked)
236 #define playlist_Stop(p) playlist_Control(p,PLAYLIST_STOP, pl_Unlocked )
237 #define playlist_Next(p) playlist_Control(p,PLAYLIST_SKIP, pl_Unlocked, 1)
238 #define playlist_Prev(p) playlist_Control(p,PLAYLIST_SKIP, pl_Unlocked, -1)
239 #define playlist_Skip(p,i) playlist_Control(p,PLAYLIST_SKIP, pl_Unlocked, (i) )
240 #define playlist_Pause(p) \
241 playlist_Control(p, PLAYLIST_PAUSE, pl_Unlocked)
242 #define playlist_Resume(p) \
243 playlist_Control(p, PLAYLIST_RESUME, pl_Unlocked)
343 bool b_playlist,
const char *psz_type );
407 #define playlist_VolumeDown(a, b, c) playlist_VolumeUp(a, -(b), c)
Structure containing information about the playlist.
Definition: vlc_playlist.h:151
No arg.
Definition: vlc_playlist.h:228
int playlist_SetRenderer(playlist_t *p_pl, vlc_renderer_item_t *p_item)
Sets a renderer or remove the current one.
Definition: renderer.c:32
playlist_item_t * playlist_CurrentPlayingItem(playlist_t *)
Definition: engine.c:484
#define VLC_API
Definition: fourcc_gen.c:30
Helper structure to export to file part of the playlist.
Definition: vlc_playlist.h:117
int playlist_AddInput(playlist_t *, input_item_t *, bool, bool)
Add an input item to the playlist node.
Definition: item.c:491
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:457
int playlist_Export(playlist_t *p_playlist, const char *psz_name, bool b_playlist, const char *psz_type)
Export a node of the playlist to a certain type of playlistfile.
Definition: loadsave.c:40
int playlist_Import(playlist_t *p_playlist, const char *psz_file)
Open a playlist file, add its content to the current playlist.
Definition: loadsave.c:91
input_thread_t * playlist_CurrentInputLocked(playlist_t *p_playlist)
Get current playing input.
Definition: engine.c:369
playlist_item_t * playlist_NodeCreate(playlist_t *, const char *, playlist_item_t *p_parent, int i_pos, int i_flags)
Create a playlist node.
Definition: tree.c:56
arg1=int, res=can fail
Definition: vlc_playlist.h:227
#define VLC_DEPRECATED
Definition: vlc_common.h:98
playlist_item_t * playlist_NodeAddInput(playlist_t *, input_item_t *, playlist_item_t *, int)
Add an input item to a given node.
Definition: item.c:517
arg1= playlist_item_t*,
Definition: vlc_playlist.h:223
Definition: vlc_playlist.h:201
static void playlist_ViewPlay(playlist_t *pl, playlist_item_t *node, playlist_item_t *item)
Definition: vlc_playlist.h:306
int playlist_Add(playlist_t *, const char *, bool)
Playlist add.
Definition: item.c:448
playlist_item_array_t current
Items currently being played.
Definition: vlc_playlist.h:157
playlist item / node
Definition: vlc_playlist.h:126
void playlist_Lock(playlist_t *)
Locks the playlist.
Definition: control.c:35
int playlist_MuteGet(playlist_t *)
Definition: aout.c:89
int playlist_NodeAddCopy(playlist_t *, playlist_item_t *, playlist_item_t *, int)
Copy an item (and all its children, if any) into another node.
Definition: item.c:551
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_common.h:150
int playlist_AddExt(playlist_t *, const char *, const char *, bool, int, const char *const *, unsigned, bool)
Add a MRL into the playlist or the media library, duration and options given.
Definition: item.c:467
#define VLC_DEFINE_SORT_FUNCTIONS
Definition: vlc_playlist.h:170
playlist_item_t root
Definition: vlc_playlist.h:161
int i_current_index
Index in current array.
Definition: vlc_playlist.h:158
No arg.
Definition: vlc_playlist.h:229
unsigned i_nb_played
Times played.
Definition: vlc_playlist.h:133
static bool playlist_IsEmpty(playlist_t *p_playlist)
Tell if the playlist is empty.
Definition: vlc_playlist.h:420
vlc_tick_t playlist_GetNodeDuration(playlist_item_t *)
Get the duration of all items in a node.
Definition: item.c:711
static int playlist_CurrentSize(playlist_t *p_playlist)
Tell the number of items in the current playing context.
Definition: vlc_playlist.h:427
void playlist_Deactivate(playlist_t *)
Stops the playlist forever (but do not destroy it yet).
Definition: thread.c:65
int i_children
Number of children, -1 if not a node.
Definition: vlc_playlist.h:132
Definition: vlc_playlist.h:148
Definition: vlc_playlist.h:200
Is it disabled ?
Definition: vlc_playlist.h:140
void playlist_EnableAudioFilter(playlist_t *, const char *, bool)
Definition: aout.c:115
pl_locked_state
Definition: vlc_playlist.h:206
#define TYPEDEF_ARRAY(type, name)
Definition: vlc_arrays.h:171
struct playlist_export_t playlist_export_t
Helper structure to export to file part of the playlist.
float playlist_VolumeGet(playlist_t *)
Definition: aout.c:45
void playlist_Control(playlist_t *p_playlist, int i_query, int b_locked,...)
Do a playlist action.
Definition: control.c:139
void playlist_Clear(playlist_t *, bool)
Clear the playlist.
Definition: item.c:425
int playlist_ServicesDiscoveryAdd(playlist_t *, const char *)
Add a service discovery module.
Definition: services_discovery.c:112
Audio output object.
Definition: vlc_aout.h:114
No arg res=can fail.
Definition: vlc_playlist.h:226
playlist_item_t * p_parent
Item parent.
Definition: vlc_playlist.h:131
Definition: vlc_playlist.h:148
arg2 = playlist_item_t* , res=can fail
Definition: vlc_playlist.h:225
int playlist_VolumeUp(playlist_t *, int, float *)
Raises the volume.
Definition: aout.c:76
Definition: vlc_playlist.h:209
audio_output_t * playlist_GetAout(playlist_t *)
Definition: aout.c:35
int playlist_TreeMove(playlist_t *, playlist_item_t *, playlist_item_t *, int)
Moves an item.
Definition: item.c:626
int playlist_ServicesDiscoveryControl(playlist_t *, const char *, int,...)
Query a services discovery.
Definition: services_discovery.c:220
const char * psz_name
Definition: vlc_codecs.h:315
Will children inherit flags the R/O flag ?
Definition: vlc_playlist.h:143
#define PL_ASSERT_LOCKED
Definition: vlc_playlist.h:218
bool playlist_IsServicesDiscoveryLoaded(playlist_t *, const char *)
Check whether a given SD is loaded.
Definition: services_discovery.c:199
playlist_status_t
Playlist status.
Definition: vlc_playlist.h:147
Write-enabled ?
Definition: vlc_playlist.h:141
input_thread_t * playlist_CurrentInput(playlist_t *p_playlist)
Get current playing input.
Definition: engine.c:382
int playlist_VolumeSet(playlist_t *, float)
Definition: aout.c:58
int playlist_TreeMoveMany(playlist_t *, int, playlist_item_t **, playlist_item_t *, int)
Moves an array of items.
Definition: item.c:661
void playlist_NodeDelete(playlist_t *, playlist_item_t *)
Remove all the children of a node and removes the node.
Definition: tree.c:90
int i_id
Playlist item specific id.
Definition: vlc_playlist.h:135
void playlist_AssertLocked(playlist_t *)
Definition: control.c:45
Definition: vlc_playlist.h:190
playlist_item_t * playlist_ItemGetById(playlist_t *, int)
Finds a playlist item by ID.
Definition: item.c:383
#define VLC_USED
Definition: fourcc_gen.c:31
uint8_t i_flags
Flags.
Definition: vlc_playlist.h:136
playlist_item_t * playlist_ChildSearchName(playlist_item_t *, const char *)
Search a child of a node by its name.
Definition: tree.c:175
Definition: renderer_discovery.c:33
static int playlist_MuteToggle(playlist_t *pl)
Definition: vlc_playlist.h:407
Definition: vlc_playlist.h:34
int playlist_Status(playlist_t *)
Definition: engine.c:491
int playlist_MuteSet(playlist_t *, bool)
Definition: aout.c:102
Definition: vlc_playlist.h:191
char * base_url
Definition: vlc_playlist.h:120
playlist_item_t * p_playing
Definition: vlc_playlist.h:162
int playlist_ServicesDiscoveryRemove(playlist_t *, const char *)
Remove a services discovery module by name.
Definition: services_discovery.c:167
playlist_item_t * playlist_ItemGetByInput(playlist_t *, const input_item_t *)
Finds a playlist item by input item.
Definition: item.c:406
FILE * p_file
Definition: vlc_playlist.h:121
playlist_item_t ** pp_children
Children nodes/items.
Definition: vlc_playlist.h:130
int playlist_RecursiveNodeSort(playlist_t *, playlist_item_t *, int, int)
Sort a node recursively.
Definition: sort.c:191
playlist_item_t * p_media_library
Definition: vlc_playlist.h:163
Definition: vlc_playlist.h:148
void playlist_Unlock(playlist_t *)
Unlocks the playlist.
Definition: control.c:40
playlist_item_t * p_root
Definition: vlc_playlist.h:122
int playlist_LiveSearchUpdate(playlist_t *, playlist_item_t *, const char *, bool)
Launch the recursive search in the playlist.
Definition: search.c:116
No arg.
Definition: vlc_playlist.h:222
playlist_item_array_t items
Arrays of items.
Definition: vlc_playlist.h:155
playlist_item_flags_e
Definition: vlc_playlist.h:139
int i_size
Definition: vlc_playlist.h:54
Definition: vlc_playlist.h:208
Must playlist stop if the item gets subitems ?
Definition: vlc_playlist.h:142
input_item_t * p_input
Linked input item.
Definition: vlc_playlist.h:128
Describe all interface-specific data of the interface thread.
Definition: vlc_interface.h:46