mirror of
https://github.com/love2d/love-android.git
synced 2026-08-21 13:09:40 +02:00
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
/*
|
|
playlist: playlist logic
|
|
|
|
copyright 1995-2007 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
initially written by Michael Hipp, outsourced/reorganized by Thomas Orgis
|
|
*/
|
|
#ifndef MPG123_PLAYLIST_H
|
|
#define MPG123_PLAYLIST_H
|
|
|
|
#include "mpg123app.h"
|
|
|
|
enum playlist_type { UNKNOWN = 0, M3U, PLS, NO_LIST };
|
|
|
|
typedef struct listitem
|
|
{
|
|
char* url; /* the filename */
|
|
char freeit; /* if it was allocated and should be free()d here */
|
|
size_t playcount; /* has been played as ...th track in overall counting */
|
|
} listitem;
|
|
|
|
typedef struct playlist_struct
|
|
{
|
|
FILE* file; /* the current playlist stream */
|
|
size_t entry; /* entry in the playlist file */
|
|
size_t playcount; /* overall track counter for playback */
|
|
long loop; /* repeat a track n times */
|
|
size_t size;
|
|
size_t fill;
|
|
size_t pos;
|
|
size_t alloc_step;
|
|
struct listitem* list;
|
|
mpg123_string linebuf;
|
|
mpg123_string dir;
|
|
enum playlist_type type;
|
|
#if defined (WANT_WIN32_SOCKETS)
|
|
int sockd; /* Is Win32 socket descriptor working? */
|
|
#endif
|
|
} playlist_struct;
|
|
|
|
extern struct playlist_struct pl;
|
|
|
|
/* create playlist form argv including reading of playlist file */
|
|
void prepare_playlist(int argc, char** argv);
|
|
/* returns the next url to play or NULL when there is none left */
|
|
char *get_next_file();
|
|
/* frees memory that got allocated in prepare_playlist */
|
|
void free_playlist();
|
|
/* Print out the playlist, with optional position indicator. */
|
|
void print_playlist(FILE* out, int showpos);
|
|
|
|
#endif
|