iTunes Javascripts

Somebody on digg mentioned AppleScripting iTunes on the Mac, but it seems to be less well known that you can write Javascripts or VBScripts for iTunes for Windows.
So, here’s a bunch of scripts I’ve written for various tasks:

To use any of them, just download them, rename them to a *.js file, then run them like any other program (double click, select and press enter, type the name from a command prompt, etc). If you have all the defaults in XP or have the Windows Scripting Host installed on other Windows boxes, then the wscript.exe program actually runs the scripts, much like cmd.exe runs batch files. Same idea, anyway. The scripts connect to iTunes as a COM object and use it in that fashion. Works really well and is quite handy for scripting tasks in iTunes. Yeah, it doesn’t actually integrate or anything, but it’s still useful.

Post navigation

138 thoughts on “iTunes Javascripts”

Do you know if they changed things in the latest iTunes 7.7? I had “borrowed” on of your scripts for loading TV shows to iTunes via a batch script. Everything was working great and now I get and error (after upgrading itunes) which says “library not registered”. I have the following two lines in the script.

Sorry Otto but I have a different opinion. I ran into the same problem as Ryan a where after upgrading to iTunes 8 the “NoArtwork” script was producing a “could not locate automation class named “itunes.application” error.
All I did to fix it was to to run an iTunes “Repair” on Vista’s Programs & Features. After this the script worked again.

Hey otto,
My music is currently stored in a stupidly named folder as I was only testing out iTunes at first. One thing led to another and I’d spent hours and hours getting all the tags perfect with all artwork showing nicely.
Now I want to move or just rename the folder but with iTunes being an Apple product it’s not so straight forward.
I have the database moved over to a sensible location and artwork/metadata intact but of course now it can’t find my music in it’s new location.

I was wondering if it’s possible to modify the RemoveDeadTracks script to update the location path, so something like this:
if (currTrack.Location == “d:\Music\blah*”)
{
currTrack.Location = “new path”

brendan: iTunes can do this itself. Just choose the “Consolidate Library” menu option. It’ll move all your library files into the iTunes library folders and rename them according to their tags and everything.

Thanks for this! I have been looking for something to do this for ages. Now I am no expert with all this scripting business, so I have some amateur questions. When I run should it open cmd and just do it’s thing? Do I know when it’s done or when I have added music and want to get lyrics what will happen?

Just discovered your scripts and I must say that your scripts are fantastic. So fantastic that I’ve decided too write one of my own but thought I’d ask you before I start, if what I want to do is possible. I don’t want to waste time only to find out that it’s impossible anyway.
Say I have added 1000 tracks to my library today, and they are all still checked. I want to automatically create a series of playlists that contain a maximum of 99 randomly selected tracks each from those checked tracks. A track must only appear in one of the playlists, and not in any others.
I can get Smartlist to randomly select 99 tracks from the tracks added today, but if I make another playlist using the same criteria, I get a smattering of tracks that appear in the first playlist. Am I wasting my time? Do you have any advice?

Thanks for the suggestion – I didn’t know that Smart Playlists could do that. In fact I don’t know how to do what you suggest! Could you give me an example? I don’t know how to say “tracks not already in an existing playlist”. I’m such a loser.
Thanks Ross

I have the same question as brendon, posted 28th July. However, I have formated my hard disks and completed a clean install of windows. Before I did this, I backed up all my music and itunes files to an external hard disk.

I have now reinstalled itunes and put music back on hard disk. However, itunes can’t find the music in it’s new location. My old itunes library is now on the new install. Is there a script which will alter the file path of the ‘dead tracks’? I have 30GB of tracks so doing it manualy is not a realistc option.

I ‘upgraded’ my itunes and it wiped out my playlists. On the Apple forum there is mention that you have a javascript that can get my playlist back from the ipod_control folder. I can’t seem to find this on your website and the link in the forum is broken.

I don’t necessarily need the songs transferred. All I really need is the names of the songs and the order. I can always recreate the playlist.

I’ve read a few comments back and forth about comments field scripting and wondered if any final version of a script was ever created that would append comments (rather than overwrite) to a number of selected songs. iTunes 9.x on Windows actually broke the itunes.application, not a bad installation.

I still get this error in iTunes 9.x when running the append to comments script. I have COMPLETELY removed itunes, Bonjour, Quicktime, Apple Supports, yada yada yada from my machine and reinstalled. Still doesn’t work.

Is there a .reg file or something I can load to get the automation class?

I’m on Vista Home Premium, iTunes 10.0.1.22. I used to use scripts all the time, but since v9 or so of iTunes, I can’t. I have uninstalled iTunes with Revo to completely obliterate everything Apple. Defragged my registry, rebooted, reinstalled, and still the same problem – Windows Script Host Error 800200009
“Could not locate automation class named “iTunes.Application”.

Hello Otto! I was looking through the script for Nolyricsplaylist.js and I was wondering if it is possible to tweak the script in a manner that instead of the whole music library on my system, ONLY the tracks on my device -say “IPOD” are scanned for tracks with no lyrics. Could you please advise on this front?

Great scripts, thanks for these. I used the Remove Dead Tracks script but will give the others a go too. I’m on Vista and it didn’t work at first but I tried Tony’s advice above and it worked (run an iTunes “Repair” on Vista’s Programs & Features).

Thanks for the script to find dead files, it worked like a charm on windows 7 ultimate, and took seconds to find. Cheers to you otto. I had three bad files that kept stopping my sync process in itunes and it was driving me nutz! Cheers and props.