Sunday, April 24, 2005

iTunes COM C# Hax0r Stuff

Brace yourself for a revelation. I have not yet used C#. I programmed my Master's thesis in Java (which is a fair amount of code). Of course, when I began my thesis project I thought I knew Java -- by the end I knew I didn't know Java. I like Java though. It's comfortable. I can do the C++ thing (see CSE557 and a fair amount of undergrad and intern work) but I prefer Java.

However, I have always been interested in learning C# -- some people have always been C# evangelists and they are getting to me. What's more though, I feel like it will be beneficial in my career and now I've found a reason to actually sit down and learn it... in the form of an iTunes hack.

I want to publish near real time information about my iTunes library -- I think I'll call it "inTune." Both because it analyzes INformation about iTunes and because it publishes them to your webspace thereby keeping others "in tune" with your music.

It will provide metadata on my entire library of songs, a few examples
Total number of songs in my library
Total number of songs rated
Total number of songs listened to
Hot songs of the week
Hot artists of the week
Most recently added songs/artists
Top 25 lists (bands, songs, etc.)

I was thinking about how to use iTunes metadata to come up with some metric for calculating favorite artist. Something like:

Favorite Artist =
# of times songs played by artist
# of songs ranked - # of songs unranked
# of total songs by artist
weight 3, 4 & 5 star rankings positively
weight 1 & 2 star rankings negatively

I'll throw in some pluses/minuses/multiplication and maybe some division in there to make it a leet formula sometime soon.

No comments: