X-Git-Url: http://git.maemo.org/git/?p=devious;a=blobdiff_plain;f=devious.h;h=c8d93f1a5a5c4e3c1e10c79276c5f4bbb5b90462;hp=a880add55117afe9fcfe9a766a54d5d971e3bea9;hb=HEAD;hpb=120add1b8c1ab503bcc19ad363bf69aa2975a3bd diff --git a/devious.h b/devious.h index a880add..c8d93f1 100644 --- a/devious.h +++ b/devious.h @@ -28,40 +28,64 @@ #define PLAY_WINDOW_TITLE "Now playing" #define CHOOSE_TARGET "Choose target" #define ROW_HEIGHT 75 +#define MP_ICON_PATH "/usr/share/themes/default/mediaplayer/" #define ICON_WIDTH 90 #define ICON_XALIGN 0.6 +#define PLAY_WINDOW_IMAGE_SIZE 295 #define MEDIA_RENDERER "urn:schemas-upnp-org:device:MediaRenderer:*" #define MEDIA_SERVER "urn:schemas-upnp-org:device:MediaServer:*" #define CONTENT_DIR "urn:schemas-upnp-org:service:ContentDirectory" #define CONNECTION_MANAGER "urn:schemas-upnp-org:service:ConnectionManager" #define AV_TRANSPORT "urn:schemas-upnp-org:service:AVTransport" +#define ALBUM_ART "albumArtURI" #define MAX_BROWSE 64 -struct proxy { - GtkTreeRowReference *row; - GUPnPDeviceProxy *proxy; - char *name; - struct proxy_set *set; - char **protocols; - GtkTreeRowReference *current_selection; -}; - struct proxy_set { GHashTable *renderers; GHashTable *servers; GtkListStore *renderer_list; GtkListStore *server_list; - GdkPixbuf *icon; + struct application *app; +}; + +struct application { + struct proxy_set set; + SoupSession *soup; HildonPickerButton *renderer_picker; GUPnPDIDLLiteParser *didl_parser; }; +struct proxy { + GtkTreeRowReference *row; + GUPnPDeviceProxy *proxy; + char *name; + char **protocols; + struct proxy_set *set; +}; + struct browse_data { GUPnPServiceProxy *content_dir; gchar *id; guint32 starting_index; GtkListStore *list; - GUPnPDIDLLiteParser *didl_parser; + struct proxy_set *set; +}; + +struct selection_data { + GtkTreeRowReference *row; + char *duration; + char *art_uri; + GtkWidget *art_image; + struct proxy_set *set; +}; + +struct toggle_data { + GdkPixbuf *pixbufs[2]; + GtkImage *image; + gboolean toggle; + gboolean state; + void (*callback)(GtkWidget *, gpointer); + gpointer user_data; }; enum { @@ -76,7 +100,7 @@ enum { void browse(GUPnPServiceProxy *content_dir, const char *container_id, guint32 starting_index, guint32 requested_count, - GtkListStore *list, GUPnPDIDLLiteParser *didl_parser); + GtkListStore *list, struct proxy_set *proxy_set); void set_panarea_padding(GtkWidget *child, gpointer data);