ucx update
[uwplayer.git] / application / playlist.c
index 1b31180..eb9dfc0 100644 (file)
 #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) {
@@ -52,7 +55,7 @@ void PlayListPlayNext(MainWindow *win, bool force) {
         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;
@@ -62,12 +65,12 @@ void PlayListPlayNext(MainWindow *win, bool force) {
 }
 
 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;
         }