b3592e40c0
"Banning" a track is a bit harsh. Let's talking about hiding tracks instead, so that it sounds friendlier. Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
/*
|
|
* Copyright 2013 (c) Anna Schumaker.
|
|
*
|
|
* The playlist manager is in charge of the various playlists Ocarina
|
|
* knows about. This code also manages a special queue used by the GUI
|
|
* to display the tracks in each playlist.
|
|
*/
|
|
#ifndef OCARINA_CORE_PLAYLIST_H
|
|
#define OCARINA_CORE_PLAYLIST_H
|
|
|
|
#include <core/containers/index.h>
|
|
#include <core/queue.h>
|
|
|
|
enum playlist_t {
|
|
PL_FAVORITED, /* Songs that the user likes. */
|
|
PL_HIDDEN, /* Songs that the user has hidden. */
|
|
PL_UNPLAYED, /* Songs that have not been played yet. */
|
|
PL_MOST_PLAYED, /* Songs with an above average play count. */
|
|
PL_LEAST_PLAYED, /* Songs with a below average play count. */
|
|
};
|
|
|
|
/* Called to initialize the playlist manager. */
|
|
void playlist_init(struct queue_ops *);
|
|
|
|
/* Called to deinitialize the playlist manager. */
|
|
void playlist_deinit();
|
|
|
|
|
|
/* Called to add a track to a playlist. */
|
|
bool playlist_add(enum playlist_t, struct track *);
|
|
|
|
/* Called to remove a track from a playlist. */
|
|
bool playlist_remove(enum playlist_t, struct track *);
|
|
|
|
|
|
/* Called to check if a specific track is in the playlist. */
|
|
bool playlist_has(enum playlist_t, struct track *);
|
|
|
|
/* Called to fill the queue with a specific playlist. */
|
|
void playlist_select(enum playlist_t);
|
|
|
|
|
|
/* Called to access the playlist queue. */
|
|
struct queue *playlist_get_queue();
|
|
|
|
#endif /* OCARINA_CORE_PLAYLIST_H */
|