introduce basic player structs
[omnplay] / src / omnplay.h
index 9a95c21..2c3b41d 100644 (file)
@@ -25,16 +25,63 @@ extern "C"
 {
 #endif /* __cplusplus */
 
+typedef enum control_buttons
+{
+    BUTTON_PLAYLIST_ITEM_ADD = 1,
+    BUTTON_PLAYLIST_ITEM_DEL,
+    BUTTON_PLAYLIST_ITEM_EDIT,
+
+    BUTTON_PLAYLIST_LOAD,
+    BUTTON_PLAYLIST_SAVE,
+
+    BUTTON_PLAYLIST_BLOCK_SINGLE,
+    BUTTON_PLAYLIST_BLOCK_LOOP,
+
+    BUTTON_PLAYLIST_ITEM_UP,
+    BUTTON_PLAYLIST_ITEM_DOWN,
+
+    BUTTON_PLAYER_CUE,
+    BUTTON_PLAYER_PLAY,
+    BUTTON_PLAYER_PAUSE,
+    BUTTON_PLAYER_STOP,
+
+    BUTTON_LIBRARY_ADD,
+    BUTTON_LIBRARY_REFRESH,
+
+    BUTTON_LAST
+} control_buttons_t;
+
+#define MAX_PLAYERS 4
+
+typedef struct omnplay_player
+{
+    char name[PATH_MAX];
+    char host[PATH_MAX];
+    void* handle;
+    pthread_t thread;
+    pthread_mutex_t lock;
+    GtkWidget *label_status, *label_state, *label_cur, *label_rem, *label_clip;
+}
+omnplay_player_t;
 
 typedef struct omnplay_instance
 {
     GtkWidget *window;
+    GtkWidget *buttons[BUTTON_LAST + 1];
+    struct
+    {
+        omnplay_player_t item[MAX_PLAYERS];
+        int count;
+        char path[PATH_MAX];
+    } players;
+    int f_exit;
 }
 omnplay_instance_t;
 
 omnplay_instance_t* omnplay_create(int argc, char** argv);
 void omnplay_init(omnplay_instance_t* app);
-void omnplay_close(omnplay_instance_t* app);
+void omnplay_release(omnplay_instance_t* app);
+void omnplay_destroy(omnplay_instance_t* app);
 
 #ifdef __cplusplus
 };