#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 {
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);