add whois implementation
[melted_gui] / src / omnplay.h
index b9edff3..f967b87 100644 (file)
@@ -85,6 +85,7 @@ typedef enum playlist_item_type
 } playlist_item_type_t;
 
 #define MAX_PLAYLIST_ITEMS      1024
+#define MAX_LIBRARY_ITEMS       10240
 
 typedef struct playlist_item
 {
@@ -112,7 +113,7 @@ typedef struct omnplay_player
     GtkWidget *label_status, *label_state, *label_tc_cur, *label_tc_rem, *label_clip;
     struct omnplay_instance *app;
     int playlist_start;
-    int playlist_count;
+    int playlist_length;
 } omnplay_player_t;
 
 typedef struct omnplay_instance
@@ -139,6 +140,14 @@ typedef struct omnplay_instance
         char* path;
         GdkPixbuf *block_icons[8];
     } playlist;
+    struct
+    {
+        playlist_item_t item[MAX_LIBRARY_ITEMS];
+        int count;
+        char filename[PATH_MAX];
+        char whois[PATH_MAX];
+        pthread_mutex_t lock;
+    } library;
 } omnplay_instance_t;
 
 omnplay_instance_t* omnplay_create(int argc, char** argv);
@@ -149,6 +158,16 @@ void omnplay_playlist_load(omnplay_instance_t* app);
 void omnplay_playlist_save(omnplay_instance_t* app);
 void omnplay_playlist_draw(omnplay_instance_t* app);
 void omnplay_playlist_draw_item(omnplay_instance_t* app, int idx);
+void omnplay_playlist_draw_item_rem(omnplay_instance_t* app, int idx, char* rem);
+void omnplay_library_load(omnplay_instance_t* app);
+void omnplay_library_save(omnplay_instance_t* app);
+void omnplay_library_refresh(omnplay_instance_t* app);
+void omnplay_library_draw(omnplay_instance_t* app);
+typedef void (*omnplay_get_content_cb_proc)(omnplay_instance_t* app, playlist_item_t *items, void* data);
+int omnplay_get_content(omnplay_instance_t* app, playlist_item_t *items, int limit,
+    omnplay_get_content_cb_proc proc, void* data);
+int omnplay_whois_list(omnplay_instance_t* app, playlist_item_t *items, int* plimit);
+int omnplay_library_load_file(playlist_item_t* items, int *pcount, char* filename);
 
 #ifdef __cplusplus
 };