#include "player.h"
#include "utils.h"
+#include <cx/array_list.h>
+
void PlayListInit(MainWindow *win) {
+ win->playlist.tracks = cxArrayListCreate(cxDefaultAllocator, NULL, CX_STORE_POINTERS, 64);
win->playlist.current_track = -1;
}
void PlayListAddFile(MainWindow *win, const char *file) {
char *f = strdup(file);
- win->playlist.tracks = ucx_list_append(win->playlist.tracks, f);
+ cxListAdd(win->playlist.tracks, f);
}
void PlayListPlayNext(MainWindow *win, bool force) {
- UcxList *tracks = win->playlist.tracks;
+ CxList *tracks = win->playlist.tracks;
if(!tracks) return;
- size_t len = ucx_list_size(tracks);
+ size_t len = tracks->size;
int current = win->playlist.current_track;
if(win->playlist.repeatTrack) {
current++;
} else if(win->playlist.autoplayFolder) {
char *next_file = util_find_next_file(win->file);
- win->playlist.tracks = ucx_list_append(win->playlist.tracks, next_file);
+ cxListAdd(win->playlist.tracks, next_file);
current = len;
} else {
current = 0;
}
void PlayListPlayTrack(MainWindow *win, int i) {
- UcxList *tracks = win->playlist.tracks;
- if(i < ucx_list_size(tracks)) {
- win->playlist.current_track = i;
- UcxList *fileElm = ucx_list_get(tracks, i);
- if(fileElm) {
- win->file = fileElm->data;
+ CxList *tracks = win->playlist.tracks;
+ if(i < tracks->size) {
+ char *file = cxListAt(tracks, i);
+ if(file) {
+ win->playlist.current_track = i;
+ win->file = file;
PlayerOpenFile(win);
win->playlist.current_track = i;
}