add library search functions prototype
[melted_gui] / src / omnplay.h
index 9cceb61..d336ed6 100644 (file)
@@ -48,6 +48,9 @@ typedef enum control_buttons
     BUTTON_LIBRARY_ADD,
     BUTTON_LIBRARY_REFRESH,
 
+    BUTTON_LIBRARY_FIND,
+    BUTTON_LIBRARY_FIND_NEXT,
+
     BUTTON_LAST
 } control_buttons_t;
 
@@ -86,6 +89,8 @@ typedef enum playlist_item_type
 
 #define MAX_PLAYLIST_ITEMS      1024
 #define MAX_LIBRARY_ITEMS       10240
+#define PLAYLIST_ITEM_ERROR_LIB 1
+#define PLAYLIST_ITEM_ERROR_CUE 2
 
 typedef struct playlist_item
 {
@@ -97,6 +102,7 @@ typedef struct playlist_item
     playlist_item_type_t type;
     int omn_idx;
     int omn_offset;
+    int error;
 } playlist_item_t;
 
 #define MAX_PLAYERS 4
@@ -147,6 +153,9 @@ typedef struct omnplay_instance
         char filename[PATH_MAX];
         char whois[PATH_MAX];
         pthread_mutex_t lock;
+        pthread_t refresh_thread;
+        GtkWidget *refresh_ui[2];
+        GtkWidget *search;
     } library;
 } omnplay_instance_t;
 
@@ -163,6 +172,16 @@ 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);
+playlist_item_t* omnplay_library_find(omnplay_instance_t* app, char* id);
+int omnplay_library_normalize_item(omnplay_instance_t* app, playlist_item_t* item);
+playlist_item_t* omnplay_library_get_selected(omnplay_instance_t* app, int *count);
+void omnplay_playlist_normalize(omnplay_instance_t* app);
+void omnplay_library_search(omnplay_instance_t* app, int next);
 
 #ifdef __cplusplus
 };