34 #define FLAG_PLAYING 1
40 #define FLAG_BOOKMARKED 4
46 #define FLAG_CACHED 16
48 #define TRACK(LST, ID) (LST->entries[ID].name ? &LST->entries[ID] : LST->entries[ID].href)
size_t count
Definition: track.h:97
char * username
The username.
Definition: track.h:80
int track_id
Definition: track.h:85
struct track_list * track_list_merge(struct track_list **lists)
Merge an array of track_lists.
Definition: track.c:64
struct track * entries
Definition: track.h:98
char * description
Definition: track.h:81
The basic datastructure representing a single track.
Definition: track.h:67
int duration
duration in seconds
Definition: track.h:83
bool track_list_append(struct track_list *target, struct track_list *source)
Append a list to another list.
Definition: track.c:88
void track_list_sort(struct track_list *list)
Sort a track_list by creation time.
Definition: track.c:84
struct track * track_list_get(struct track_list *list, char *permalink)
Check if list contains a track, identified by its permalink and return it.
Definition: track.c:102
uint8_t flags
Definition: track.h:88
int current_position
current position
Definition: track.h:89
char * stream_url
The URL used for streaming this track.
Definition: track.h:71
char * permalink_url
Definition: track.h:77
char * download_url
The URL pointing to the download. Might be NULL, if the uploader does not provide a download...
Definition: track.h:79
static struct track_list_state lists[MAX_LISTS]
char * name
Definition: track.h:96
void track_list_destroy(struct track_list *list, bool free_trackdata)
Free the memory occupied by a track_list.
Definition: track.c:122
char * name
the tracks name
Definition: track.h:68
struct track * href
Pointer to a normal track (only valid if name == NULL)
Definition: track.h:91
int user_id
Definition: track.h:84
bool track_list_del(struct track_list *list, size_t track_id)
Definition: track.c:47
void track_destroy(struct track *track)
Definition: track.c:111
bool track_list_add(struct track_list *list, struct track *track)
Add a single track to an existing track_list.
Definition: track.c:35
struct tm created_at
Definition: track.h:82