diff -x '*.svn' -x '*.pyo' -x '*.pyc' -urp src/gpodder/download.py /usr/lib/python2.5/site-packages/gpodder/download.py
--- src/gpodder/download.py	2008-01-29 22:35:49.000000000 +0000
+++ /usr/lib/python2.5/site-packages/gpodder/download.py	2008-01-29 10:57:42.000000000 +0000
@@ -153,6 +153,7 @@ class DownloadThread(threading.Thread):
                 self.downloader.retrieve( self.episode.url, self.tempname, reporthook = self.status_updated)
                 shutil.move( self.tempname, self.filename)
                 self.channel.addDownloadedItem( self.episode)
+                self.channel.addDownloadedItemToPlaylist( self.episode)
                 services.download_status_manager.download_completed(self.download_id)
             finally:
                 services.download_status_manager.remove_download_id( self.download_id)
Only in /usr/lib/python2.5/site-packages/gpodder: libipodsync.py
diff -x '*.svn' -x '*.pyo' -x '*.pyc' -urp src/gpodder/libpodcasts.py /usr/lib/python2.5/site-packages/gpodder/libpodcasts.py
--- src/gpodder/libpodcasts.py	2008-01-29 22:35:49.000000000 +0000
+++ /usr/lib/python2.5/site-packages/gpodder/libpodcasts.py	2008-01-29 22:25:42.000000000 +0000
@@ -308,6 +308,30 @@ class podcastChannel(ListType):
 
         return True
     
+    def addDownloadedItemToPlaylist( self, item):
+        filename = item.local_filename()
+	playlist = self.device_playlist_name
+
+	already_in_playlist = False;
+	if os.path.exists(playlist):
+	    f = open(playlist, 'r')
+            while True:
+	        line = f.readline()
+		line = line.replace('\n', '')
+		if not line: break
+		if line.startswith("#"): continue
+		if filename == line:
+		  log(filename + ' is already in the playlist!')
+		  already_in_playlist = True
+
+        if not already_in_playlist:
+  	    f = open(self.device_playlist_name, 'a')
+  	    f.write('# ' + self.title + ' - ' + item.pubDate + ' - ' + item.description.replace('\n', ' ') + "\n" )
+  	    f.write(filename + "\n")
+  	    f.close()
+  	    log('Added to playlist %s !', self.device_playlist_name)
+        return True
+
     def addDownloadedItem( self, item):
         # no multithreaded access
         global_lock.acquire()
