diff --git a/plugins/ipod/Makefile.am b/plugins/ipod/Makefile.am
index c72ce70..5dbf88f 100644
--- a/plugins/ipod/Makefile.am
+++ b/plugins/ipod/Makefile.am
@@ -10,7 +10,9 @@ libipod_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS)
 libipod_la_LIBADD = 					\
 	$(top_builddir)/lib/librb.la			\
 	$(HAL_LIBS)					\
-	$(IPOD_LIBS)
+	$(IPOD_LIBS)					\
+	$(SOUP_LIBS)
+
 
 INCLUDES = 						\
         -DGNOMELOCALEDIR=\""$(datadir)/locale"\"        \
@@ -33,6 +35,7 @@ INCLUDES = 						\
 	$(WARN_CFLAGS)					\
 	$(HAL_CFLAGS)					\
 	$(IPOD_CFLAGS)					\
+	$(SOUP_CFLAGS)					\
 	-D_XOPEN_SOURCE -D_BSD_SOURCE
 
 plugin_in_files = ipod.rb-plugin.desktop.in
diff --git a/sources/rb-ipod-source.c b/sources/rb-ipod-source.c
index 7436a5c..a94252b 100644
--- a/sources/rb-ipod-source.c
+++ b/sources/rb-ipod-source.c
@@ -33,6 +33,7 @@
 #include <libgnomevfs/gnome-vfs-volume.h>
 #include <libgnomevfs/gnome-vfs-volume-monitor.h>
 #include <gpod/itdb.h>
+#include <libsoup/soup-uri.h>
 
 #include "eel-gconf-extensions.h"
 #include "rb-ipod-source.h"
@@ -525,12 +526,17 @@ get_db_for_source (RBiPodSource *source)
         return db;
 }
 
+#define EXTRA_URI_ENCODE_CHARS  "&+"
+
 static gboolean
 load_ipod_db_idle_cb (RBiPodSource *source)
 {
 	RhythmDB *db;
  	GList *it;
 	RBiPodSourcePrivate *priv = IPOD_SOURCE_GET_PRIVATE (source);
+	gchar *a, *t, *b, i[30];
+	int l;
+	time_t tt;
 
 	GDK_THREADS_ENTER ();
 
@@ -538,7 +544,20 @@ load_ipod_db_idle_cb (RBiPodSource *source)
 
   	g_assert (db != NULL);
  	for (it = priv->ipod_db->tracks; it != NULL; it = it->next) {
-		add_ipod_song_to_db (source, db, (Itdb_Track *)it->data);
+		Itdb_Track *track = (Itdb_Track*)it->data;
+		add_ipod_song_to_db (source, db, track);
+		a = soup_uri_encode(track->artist, EXTRA_URI_ENCODE_CHARS);
+		t = soup_uri_encode(track->title, EXTRA_URI_ENCODE_CHARS);
+		b = soup_uri_encode(track->album, EXTRA_URI_ENCODE_CHARS);
+		l = track->tracklen/1000;
+		/* iPod date timestamps are number of seconds since 1.1.1904,
+		 * set an offset for POSIX time (epoch) */
+		tt = (time_t)(track->time_played-2082848400L);
+		strftime (i, 30, "%Y%%2D%m%%2D%d%%20%H%%3A%M%%3A%S", gmtime (&tt));
+		printf("a=%s&t=%s&b=%s&l=%d&i=%s\n",a,t,b,l,i);
+		g_free(a);
+		g_free(t);
+		g_free(b);
 	}
 
 	load_ipod_playlists (source);
