/******************************************************************************!
* \file mp3server.h
* \author Sebastien Beaugrand
* \sa http://beaugrand.chez.com/
* \copyright CeCILL 2.1 Free Software license
******************************************************************************/
#ifndef MP3SERVER_H
#define MP3SERVER_H
#include <dirent.h>
#include "httpServer.h"
#define BLOC_SIZE 16
struct part_list {
char abrev[3];
char* name;
unsigned int count;
struct bloc_list* bloc;
struct part_list* next;
};
struct bloc_list {
char* name[BLOC_SIZE];
unsigned int count;
struct bloc_list* next;
};
void mp3serverWeightsInit();
void mp3serverDateDuJour();
void mp3serverDeleteBlocList(struct bloc_list* bloc);
void mp3serverDeletePartList(struct part_list* part);
void mp3serverQuit(int status);
struct bloc_list*
mp3serverFillAlbumsForArtist(struct part_list* partRoot, const char* artist);
struct bloc_list*
mp3serverArtist(struct part_list* partRoot, const char** newAlbum);
const char* mp3serverGetArtist(const char* a);
const char* mp3serverGetRelativeDate(const char* ymd);
int mp3serverDirFilter(const struct dirent* d);
struct Buffer* mp3serverGetHtmlDir(const char* dir);
struct Buffer* mp3serverMp3info(const char* newAlbum, enum tFormat format);
void mp3serverReadMp3List();
void mp3serverStartAlbum(const char* album);
void mp3serverReadAlbum();
struct Buffer* mp3serverMp3rand(enum tFormat format);
void mp3serverSavePlaytime(int32_t playtime);
void mp3serverSignalToClient(int sig);
const char* mp3serverGetMp3rootDir();
void mp3serverStartTempo();
int mp3serverStopTempo();
void mp3serverSetClientPid(pid_t pid);
struct tm* mp3serverTmOfTheDay();
#endif