Last modified: February 11, 2011
I'm a fan of Apple's very successful software and hardware music products, iTunes and the iPod Touch. As someone who uses them with Windows 7-based systems, I thought I'd provide links to some resources for other users with such systems.
This page started out as an entry in my blog, and owes a lot to information found in this Slashdot article.
For iPod information sources, I have to recommend the official iPod support page and the associated discussion page. The "iPod->Connecting to Windows" folder has lots of good information regarding solving problems in getting iPods to talk to Windows-based PCs.
The iPod lounge and iPodSoft's Forum are also excellent places to find information and opinions.
Apple also has an official iTunes support page that corresponds to the iPod support page mentioned above, and also iTunes discussion pages that provide iTunes information and help for Mac OS, Windows, and iTunes Music Store users.
Oh, and the Microsoft Knowledge Base should not be forgotten. We had lots of problems with error messages coming out of the "Add New Hardware Wizard" every time we connected our iPod to our PC, and the resolution found in KB article 812581 cleared up this problem.
Information on scripting and writing plug-ins for iTunes in the Microsoft Windows environment is just starting to emerge. The best place to get started is probably with the iTunes COM for Windows SDK, a free package from Apple that contains documentation for the COM interfaces and some sample Visual Basic .NET scripts. The iTunes Visualizer Plug-In SDK is a resource which I have not investigated yet, but which should be useful for people who want to get beyond simple "remote control" scripting.
The amount of plugins and scripts available for the Windows version of iTunes is nowhere near what is available for Macintosh (see "Doug's AppleScripts for iTunes" for just one example), but I'm sure this will change quickly. Dan Crevier's Blog has simple examples in JavaScript and C# that are good starters.
Here's a script I wrote: iartcheck. It combines three alien entities: iTunes, Perl, and COM. This was made possible, by the way, through the use of Cygwin, which provides a complete Unix-like environment for Windows, including a full build of Perl that includes the ActiveState "Win32::OLE" module. It just goes to show that if you build your sandbox properly, any kind of children can play together. The script checks the album art in your song files, and reports any problems. It's simple, but might make a good template for more complicated things. I still need to add the ability to only process selected tracks, if any were selected, and to not stop iTunes if it was already running when this script was started.
And, finally, here's a writeup I just found with some interesting information.
Periodically I've scoured the Internet looking for Windows-based programs that enhance iTunes and iPod, and have found a couple of gems.
The best is iPodSoft's amazing and free iPod Agent, which lets you transfer songs from your iPod to your PC, transfer Microsoft Outlook contacts, calendars, notes, etc. to your iPod, and download weather forecasts, movie times, and other cool things into it, making it somewhat of a read-only PDA. [Note: In the time since I wrote this, iPod Agent is no longer free, and has been replaced by PodPlus, which costs $15.]
Another neat program on that site is iArt [also no longer free, unforunately], which fills in missing album art in iTunes. It's a bit buggy, and it would be nice if it could detect and use Folder.jpg artwork files in music folders, but it's still pretty cool. I am also looking at iTunes Art Importer as another program to perform this task.
The AMIP plug-in for iTunes is pretty neat, and allows you to do some pretty cool things, one of which is shown below, under "My Recently-Played Songs". Truthfully, I don't see the need for the add-on AMIP Configurator, as it adds a lot of overhead by requiring Java, unless you're doing some sophisticated mIRC stuff or need other options. Oh, and here's the obscurely-documented, but really important, thing to know about AMIP: To bring up the configuration screen, start iTunes, then press the hotkey combination Control-Alt-Shift-O (letter "oh", not number "zero"). I don't know where this is set, or where it can be changed, but the only place it's mentioned is in a small note that comes with AMIP for iTunes.
I accidentally installed localhost's MultiPlugin, and found that it replaced the Windows widgets with Aqua-ish ones, and put the name of the currently-playing song in the title bar. It also changes the minimize button to bring up the mini player instead of minimizing to the task bar, and it has an option to find song lyrics, but that doesn't seem to work. All in all, it's pretty neat, but I'm kind of uncomfortable with software that has no documentation and unknown functionality, so I removed it. [Please note that this opinion applies to version 0.52; the plugin has undergone substantial development work since then, and I need to revisit it at some point.]
SharePod and iPodLibrary both look pretty interesting, and I'm going to check them out as I have time.
Here are a few hacks that I am reluctant to try right now:
This shows the last 100 (or so) songs I've listed to in iTunes on my Dell XPS M1730 laptop, in order from most-recently to least-recently played. It was built with the help of the excellent AMIP plug-in for iTunes, which has AAC support, can parse .m4a and .m4p files for track information, and can pick up rating and play count info from iTunes itself.
| Track Name | Artist | Album Name | Year | Genre | Count | Rating |
|---|---|---|---|---|---|---|
| Radioactive (feat. Kendrick Lamar) | Imagine Dragons | Radioactive (feat. Kendrick Lamar) - Single | 2014 | Alternative | 1 | - |
| It's Time | Imagine Dragons | Night Visions | 2012 | Alternative | 3 | - |
| The Last Song (Rerecorded) | Edward Bear | One Hit Wonders - 18 Pop Classics from the Stars That Time Forgot (Rerecorded Version) | 1 | - | ||
| A Strange Gait | Russ Huddleston and Robert Smith | Manos: The Soundtrack of Fate | 1966 | Soundtrack | 1 | - |
| Family Vacation | Russ Huddleston and Robert Smith | Manos: The Soundtrack of Fate | 1966 | Soundtrack | 1 | - |
| Forgetting You | Russ Huddleston and Robert Smith | Manos: The Soundtrack of Fate | 1966 | Soundtrack | 1 | - |
| Mountain Sound | Of Monsters and Men | My Head Is An Animal | 1 | - | ||
| Tom's Diner (7" A) | DNA & Suzanne Vega | Tom's Album | 1991 | Rock | 1 | - |
| Tom's Diner (Reprise) | Suzanne Vega | Tom's Album | 1991 | Rock | 1 | - |
| Tom's? | Billy Bragg, Bingo Hand Job & Michael Stipe | Tom's Album | 1991 | Rock | 1 | - |
| Tages Kafe | Mats Hojer | Tom's Album | 1991 | Rock | 1 | - |
| Tom's Diner Rap | After One | Tom's Album | 1991 | Rock | 1 | - |
| Jeannie's Diner | Mark Davis & Marylin E Whitelaw | Tom's Album | 1991 | Rock | 1 | - |
| Tom's Diner | N D A Project | Tom's Album | 1991 | Rock | 1 | - |
| Tom's Diner | Michigan & Smiley | Tom's Album | 1991 | Rock | 1 | - |
| Waiting at the Border | Beth Watson | Tom's Album | 1991 | Rock | 1 | - |
| Daddy's Little Girl | Nikki D | Tom's Album | 1991 | Rock | 1 | - |
| Dep De Do Dep | Peter Behrens | Tom's Album | 1991 | Rock | 1 | - |
| Tom's Dinner (A Cappella) | Suzanne Vega | Tom's Album | 1991 | Rock | 1 | - |
| Rusted Pipe | DNA & Suzanne Vega | Tom's Album | 1991 | Rock | 1 | - |
| Radioactivity | Kraftwerk | Radio-Activity (Remastered) | 1975 | Electronic | 1 | - |
| Free | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| Colour My World | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| I'm a Man | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| Questions 67 and 68 | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| Beginnings | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| Does Anybody Really Know What Time It Is? | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| or 6 to 4 | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| Make Me Smile | Chicago | The Very Best of Chicago - Only the Beginning | 2004 | Rock | 1 | - |
| Turn! Turn! Turn! (To Everything There Is a Season) | Pete Seeger | The Essential Pete Seeger | 1 | - | ||
| If I Had a Hammer (Hammer Song) | Pete Seeger | The Essential Pete Seeger | 1 | - | ||
| (You Make Me Feel Like) A Natural Woman | Carole King | Tapestry | 1971 | Pop | 2 | - |
| Tapestry | Carole King | Tapestry | 1971 | Pop | 2 | - |
| Smackwater Jack | Carole King | Tapestry | 1971 | Pop | 2 | - |
| Will You Love Me Tomorrow? | Carole King | Tapestry | 1971 | Pop | 11 | - |
| Where You Lead | Carole King | Tapestry | 1971 | Pop | 2 | - |
| You've Got A Friend | Carole King | Tapestry | 1971 | Pop | 23 | - |
| Way Over Yonder | Carole King | Tapestry | 1971 | Pop | 2 | - |
| Beautiful | Carole King | Tapestry | 1971 | Pop | 28 | - |
| Home Again | Carole King | Tapestry | 1971 | Pop | 2 | - |
| It's Too Late | Carole King | Tapestry | 1971 | Pop | 16 | - |
| So Far Away | Carole King | Tapestry | 1971 | Pop | 23 | - |
| I Feel The Earth Move | Carole King | Tapestry | 1971 | Pop | 15 | - |
| I Will Follow You Into the Dark | Death Cab for Cutie | Plans | 2005 | Alternative | 2 | - |
| Day-In Day-Out (Single Version) | David Bowie | The Best of 1980-1987 (Remastered) | 2009 | Rock | 1 | - |
| Cat People (Putting Out Fire) | David Bowie | The Best of 1980-1987 (Remastered) | 2009 | Rock | 1 | - |
| Contact | Daft Punk | Random Access Memories | 2013 | Pop | 1 | - |
| Doin' It Right (feat. Panda Bear) | Daft Punk | Random Access Memories | 2013 | Pop | 1 | - |
| Fragments of Time (feat. Todd Edwards) | Daft Punk | Random Access Memories | 2013 | Pop | 1 | - |
| Motherboard | Daft Punk | Random Access Memories | 2013 | Pop | 1 | - |
| Beyond | Daft Punk | Random Access Memories | 2013 | Pop | 1 | - |
| Get Lucky (feat. Pharrell Williams) | Daft Punk | Random Access Memories | 2013 | Pop | 2 | - |
| Touch (feat. Paul Williams) | Daft Punk | Random Access Memories | 2013 | Pop | 1 | - |
| Give Life Back to Music | Daft Punk | Random Access Memories | 2013 | Pop | 14 | - |
| Lose Yourself to Dance (feat. Pharrell Williams) | Daft Punk | Random Access Memories | 2013 | Pop | 12 | - |
| Instant Crush (feat. Julian Casablancas) | Daft Punk | Random Access Memories | 2013 | Pop | 13 | - |
| Within | Daft Punk | Random Access Memories | 2013 | Pop | 13 | - |
| Giorgio by Moroder | Daft Punk | Random Access Memories | 2013 | Pop | 13 | - |
| The Game of Love | Daft Punk | Random Access Memories | 2013 | Pop | 14 | - |
| Men of Harlech (Wele Goel Certh) | Charlotte Church | Charlotte Church | 1 | - | ||
| Iron Man | Jon Favreau | Movies | 2008 | Action & Adventure | 1 | - |
| Happy Xmas (War Is Over) | John Lennon | Lennon (Disc 2) | 1990 | Christmas | 8 | - |
| Hark! The Herald Angels Sing | Vince Guaraldi Trio | A Charlie Brown Christmas | 1965 | Christmas | 5 | - |
| Have Yourself A Merry Little Christmas | The Carpenters | Christmas Portrait | 1978 | Christmas | 7 | - |
| The Christmas Song (Merry Christmas to You) | Nat King Cole | Christmas Cocktails | 1996 | Christmas | 8 | - |
| I've Got My Love to Keep Me Warm | Dean Martin | Christmas Cocktails | 1996 | Christmas | 24 | - |
| Christmas Island | Leon Redbone | Christmas Island | 1989 | Christmas | 11 | - |
| The Chipmunk Song (Christmas Don't Be Late) | The Chipmunks | The Chipmunks' Greatest Christmas Hits | 1999 | Christmas | 5 | - |
| Santa Baby | Madonna | A Very Special Christmas | 1987 | Christmas | 5 | - |
| Merry Christmas Baby | Bruce Springsteen & The E Street Band | A Very Special Christmas | 1987 | Christmas | 2 | - |
| Christmas Through Your Eyes | Gloria Estefan | Christmas Through Your Eyes | 1993 | Christmas | 6 | - |
| Let It Snow, Let It Snow, Let It Snow | Garth Brooks | Garth Brooks & The Magic Of Christmas | 1999 | Christmas | 6 | - |
| Feliz Navidad | José Feliciano | Feliz Navidad | 1973 | Christmas | 4 | - |
| O Holy Night | Charlotte Church | Dream A Dream | 2000 | Christmas | 5 | - |
| Home For The Holidays | The Carpenters | Christmas Portrait | 1978 | Christmas | 8 | - |
| A Holly Jolly Christmas | Burl Ives | Santa's Top 10 Favorites | 1998 | Christmas | 9 | - |
| God Rest Ye Merry, Gentlemen | Mannheim Steamroller | Christmas | 1984 | Christmas | 7 | - |
| Baby, It's Cold Outside | Dean Martin | Ultra-Lounge: Christmas Cocktails Part 2 | 1997 | Christmas | 20 | - |
| White Christmas (1998 Voice of Christmas Version) | Bing Crosby | Santa's Top 10 Favorites | 1998 | Christmas | 11 | - |
| Wonderful Christmastime | Paul McCartney & Wings | Back To The Egg | 1979 | Christmas | 10 | - |
| Rockin' Around the Christmas Tree | Brenda Lee | Santa's Top 10 Favorites | 1998 | Christmas | 1 | - |
| I Saw Mommy Kissing Santa Claus | John Cougar Mellencamp | A Very Special Christmas | 1987 | Christmas | 7 | - |
| Frosty The Snowman (With Dr. John) | Leon Redbone | Christmas Island | 1989 | Christmas | 11 | - |
| Linus And Lucy | Vince Guaraldi Trio | A Charlie Brown Christmas | 1965 | Christmas | 9 | - |
| Jingle Bell Rock | Bobby Helms & The Anita Kerr Singers | Santa's Top 10 Favorites | 1998 | Christmas | 10 | - |
| God Rest Ye Merry Gentlemen | Barenaked Ladies & Sarah McLachlan | A Winter's Night | 2003 | Christmas | 10 | - |
| TNG Edit 03 - Guilty Pleasures | Jandrewedits | Jandrewedits | 2009 | TV Shows | 1 | - |
| TNG Edit 02 - Beard on Beard | Jandrewedits | Jandrewedits | 2009 | TV Shows | 1 | - |
| TNG Edit 01 - Data's Lunch | Jandrewedits | Jandrewedits | 2009 | TV Shows | 1 | - |
| Repo Man | Iggy Pop | Repo Man: The Original Motion Picture Soundtrack | 1984 | Soundtrack | 11 | - |
| A Drug Against War | KMFDM | Angst | 1993 | Electronic | 1 | - |
| Crazy Water | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| Mr. Alice Doesn't Live Here Anymore | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| Forget Everything | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| Needletooth | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| Big Black Hole | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| From the Head to the Heart | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| Your Luck Won't Last | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| It's a Miracle | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
| Semi-Interesting Week | Was (Not Was) | Boo! | 2008 | Rock | 1 | - |
How did I do this? Well, I started with the example that comes with AMIP (by the way, Cygwin, or a Bourne-compatible shell and some common Unix utilities like "cut", "head", "sed", "expr", and an scp (ssh copy) capability are needed for this to work). I created a directory named "C:\iTunes\amipweb", then put these two files in it (click to view them, right-click to save them on your local system):
Next, I added this AMIP preset and made it the default:
/template:(c:\iTunes\amipweb\songrow.template)c:\iTunes\amipweb\songrow.html /exec:(c:\cygwin\bin\bash.exe) -c /cygdrive/c/iTunes/amipweb/uploadsonglist
Finally, I put this SSI directive in the file you're looking at right now, to incorporate the contents of "songlist.html" into the current web page:
<table width="100%" border="1"> <col width="25%" /> <tr><th>Track Name</th><th>Artist</th><th>Album Name</th><th>Year</th><th>Genre</th><th>Count</th><th>Rating</th></tr> <!--#include file="songlist.html" --> </table>
So far, it works like a charm for me. Your mileage may vary.