esp32-audio-player 0.1.0
Audio player engine for ESP32
Loading...
Searching...
No Matches
playlist.h File Reference

M3U/M3U8 playlists (read: relative/absolute paths, CP1251 or UTF-8 with or without BOM, #EXTINF ignored except title; write: UTF-8 .m3u8 with relative paths, CUE ranges in "#EXT-EMP-RANGE:start,end" lines that are read back) and CUE sheets (FILE/TRACK/INDEX 01, TITLE, PERFORMER, REM GAIN). More...

Include dependency graph for playlist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  playlist_entry_t
 

Typedefs

typedef struct playlist playlist_t
 

Functions

playlist_t * playlist_load_m3u (const char *path)
 
playlist_t * playlist_load_cue (const char *path)
 entries are virtual tracks
 
playlist_t * playlist_new (void)
 
int playlist_add (playlist_t *p, const playlist_entry_t *e)
 
uint32_t playlist_count (const playlist_t *p)
 
const playlist_entry_t * playlist_get (const playlist_t *p, uint32_t index)
 
int playlist_save_m3u8 (const playlist_t *p, const char *path)
 atomic (tmp + rename)
 
void playlist_free (playlist_t *p)
 

Detailed Description

M3U/M3U8 playlists (read: relative/absolute paths, CP1251 or UTF-8 with or without BOM, #EXTINF ignored except title; write: UTF-8 .m3u8 with relative paths, CUE ranges in "#EXT-EMP-RANGE:start,end" lines that are read back) and CUE sheets (FILE/TRACK/INDEX 01, TITLE, PERFORMER, REM GAIN).

A playlist whose save was interrupted is read from (and on the next save restored from) "<path>.tmp".

Typedef Documentation

◆ playlist_t

typedef struct playlist playlist_t

Function Documentation

◆ playlist_add()

int playlist_add ( playlist_t *  p,
const playlist_entry_t *  e 
)

◆ playlist_count()

uint32_t playlist_count ( const playlist_t *  p)

◆ playlist_free()

void playlist_free ( playlist_t *  p)

◆ playlist_get()

const playlist_entry_t * playlist_get ( const playlist_t *  p,
uint32_t  index 
)

◆ playlist_load_cue()

playlist_t * playlist_load_cue ( const char *  path)

entries are virtual tracks

◆ playlist_load_m3u()

playlist_t * playlist_load_m3u ( const char *  path)

◆ playlist_new()

playlist_t * playlist_new ( void  )

◆ playlist_save_m3u8()

int playlist_save_m3u8 ( const playlist_t *  p,
const char *  path 
)

atomic (tmp + rename)