2016-04-24 10:36:15 -04:00
|
|
|
/*
|
|
|
|
* Copyright 2016 (c) Anna Schumaker.
|
|
|
|
*/
|
|
|
|
#ifndef OCARINA_CORE_PLAYLISTS_SYSTEM_H
|
|
|
|
#define OCARINA_CORE_PLAYLISTS_SYSTEM_H
|
2016-09-16 08:00:48 -04:00
|
|
|
#include <core/playlists/generic.h>
|
2016-04-24 10:36:15 -04:00
|
|
|
|
|
|
|
enum sys_playlist_t {
|
|
|
|
SYS_PL_FAVORITES, /* Songs that the user likes. */
|
|
|
|
SYS_PL_HIDDEN, /* Songs that the user has hidden. */
|
2016-05-17 07:48:57 -04:00
|
|
|
SYS_PL_QUEUED, /* Songs that the user has queued up. */
|
2016-05-01 20:15:27 -04:00
|
|
|
SYS_PL_COLLECTION, /* Songs that have not been hidden. */
|
2016-05-03 10:38:23 -04:00
|
|
|
SYS_PL_HISTORY, /* Songs that have just been played. */
|
2016-04-26 08:20:27 -04:00
|
|
|
SYS_PL_UNPLAYED, /* Songs that have not been played yet. */
|
2016-04-27 08:10:25 -04:00
|
|
|
SYS_PL_MOST_PLAYED, /* Songs with an above average play count. */
|
2016-04-27 08:48:25 -04:00
|
|
|
SYS_PL_LEAST_PLAYED, /* Songs with a below average play count. */
|
2016-04-24 10:36:15 -04:00
|
|
|
SYS_PL_NUM_PLAYLISTS, /* Number of system playlists. */
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* System playlist type. */
|
|
|
|
extern struct playlist_type pl_system;
|
|
|
|
|
|
|
|
|
|
|
|
/* Called to initialize system playlists. */
|
2016-09-22 13:37:34 -04:00
|
|
|
void pl_system_init(void);
|
2016-04-24 10:36:15 -04:00
|
|
|
|
|
|
|
/* Called to deinitialize system playlists. */
|
|
|
|
void pl_system_deinit();
|
|
|
|
|
2016-05-09 11:18:28 -04:00
|
|
|
|
|
|
|
/* Called to tell system playlists about a new track. */
|
|
|
|
void pl_system_new_track(struct track *);
|
|
|
|
|
2016-05-09 12:17:22 -04:00
|
|
|
/* Called to tell system playlists that a track is getting deleted. */
|
|
|
|
void pl_system_delete_track(struct track *);
|
|
|
|
|
2016-04-24 10:36:15 -04:00
|
|
|
#endif /* OCARINA_CORE_PLAYLISTS_SYSTEM_H */
|