VLC  4.0.0-dev
Macros | Functions
randomizer.c File Reference
Include dependency graph for randomizer.c:


#define NOT_SAME_BEFORE   1


void randomizer_Init (struct randomizer *r)
 Initialize an empty randomizer. More...
void randomizer_Destroy (struct randomizer *r)
 Destroy a randomizer. More...
void randomizer_SetLoop (struct randomizer *r, bool loop)
 Enable or disable "loop" mode. More...
static ssize_t randomizer_IndexOf (struct randomizer *r, const vlc_playlist_item_t *item)
bool randomizer_Count (struct randomizer *r)
 Return the number of items in the randomizer. More...
void randomizer_Reshuffle (struct randomizer *r)
 Start a new random cycle. More...
static void swap_items (struct randomizer *r, int i, int j)
static void randomizer_DetermineOne_ (struct randomizer *r, size_t avoid_last_n)
static void randomizer_DetermineOne (struct randomizer *r)
static void randomizer_AutoReshuffle (struct randomizer *r)
bool randomizer_HasPrev (struct randomizer *r)
 Indicate whether there is a previous item. More...
bool randomizer_HasNext (struct randomizer *r)
 Indicate whether there is a next item. More...
vlc_playlist_item_trandomizer_PeekPrev (struct randomizer *r)
 Peek the previous item (without changing the current one). More...
vlc_playlist_item_trandomizer_PeekNext (struct randomizer *r)
 Peek the next item (without changing the current one). More...
vlc_playlist_item_trandomizer_Prev (struct randomizer *r)
 Go back to the previous item. More...
vlc_playlist_item_trandomizer_Next (struct randomizer *r)
 Go back to the next item. More...
bool randomizer_Add (struct randomizer *r, vlc_playlist_item_t *items[], size_t count)
 Add items to the randomizer. More...
static void randomizer_SelectIndex (struct randomizer *r, size_t index)
void randomizer_Select (struct randomizer *r, const vlc_playlist_item_t *item)
 Force the selection of a specific item. More...
static void randomizer_RemoveAt (struct randomizer *r, size_t index)
static void randomizer_RemoveOne (struct randomizer *r, const vlc_playlist_item_t *item)
void randomizer_Remove (struct randomizer *r, vlc_playlist_item_t *const items[], size_t count)
 Remove items from the randomizer. More...
void randomizer_Clear (struct randomizer *r)
 Clear the randomizer. More...

Macro Definition Documentation


#define NOT_SAME_BEFORE   1

Function Documentation

◆ randomizer_AutoReshuffle()

static void randomizer_AutoReshuffle ( struct randomizer r)

◆ randomizer_DetermineOne()

static void randomizer_DetermineOne ( struct randomizer r)

◆ randomizer_DetermineOne_()

static void randomizer_DetermineOne_ ( struct randomizer r,
size_t  avoid_last_n 

◆ randomizer_IndexOf()

static ssize_t randomizer_IndexOf ( struct randomizer r,
const vlc_playlist_item_t item 

◆ randomizer_RemoveAt()

static void randomizer_RemoveAt ( struct randomizer r,
size_t  index 

◆ randomizer_RemoveOne()

static void randomizer_RemoveOne ( struct randomizer r,
const vlc_playlist_item_t item 

◆ randomizer_SelectIndex()

static void randomizer_SelectIndex ( struct randomizer r,
size_t  index 

◆ swap_items()

static void swap_items ( struct randomizer r,
int  i,
int  j