Extending the podcasting loop

So, you already use iPodder to listen to your ITConversations on the iPod with a 1-click ease.

All is well, except that it is starting to get difficult to remember which shows you already listened to and which ones are still new. You can of course go to iTunes, find the already-listened-to track and manually delete it or move it to the ‘archived’ section. But that is very much against 1-clickspirit.

It would be very nice to be able to mark from inside the iPod which tracks you are no longer interested in. Except that iPod is a read-only device.

Except that it is not! You can rate a track with 0-5 stars and that information will get synchronized to the iTunes on the next connection.

Introducing ArchiveTrack. Inspired by one of the iPodder impementations, it uses Windows Scripting Host to archive the tracks (in a given genre) using rating value as a trigger.

The script is given here in all entirety. Feel free to modify it or incorporate it into other setups as long as this article is attributed.


Run this with  'cscript ArchiveTracks.js'
The script goes through the songs in sourceGenre and

moves/archives the ones that have ratings under the threshold

into targetGenre.
Usage scenario:

1) Download podcasting content using iPodder (1 - click)

2) Listen to it on your iPod

3) While you are listening, rate the track 1/2 stars (default script threshold)

4) After the next synchronization, run this script with iPod still connected
Version: 1.0b1 (Oct 2, 2004)

Author: Blogic Blogger

License: Use in any way desired, but mention the source and author



var sourceGenre = 'Speech'; // The genre used by ITConversations

var targetGenre = 'Speech-Archive'; //The genre to collect all the listened content in

var archiveThreshold = 50; // 1 or 2 stars

var progressNoticeRepeatCount = 250;
WScript.Echo('Connecting to iTunes');

var    iTunesApp = WScript.CreateObject("iTunes.Application");

var    mainLibrary = iTunesApp.LibraryPlaylist;
var tracks = mainLibrary.Tracks;

var songCount = tracks.count;

WScript.Echo('Total Song Count: ' + songCount);
for (i=1; i 0) && (aTrack.Rating
BlogicBlogger Over and Out