September 2006 – October 2006

I’m really a fan of video game music, especially while I work. Basically, I want to listen to something without lyrics that can help keep me in a zone while programming. I have a large collection of songs (well over 15,000). Burning these to a CD is not feasible, and frankly, I like it when I can sit down at the office or sit down at home and have the same library of music available to me. As a result, I developed the Video Game Jukebox (or Jukebox, for short).

The Jukebox is made up of three parts – the player, the searcher, and the library. Each part is a separate frame so that the various parts can perform the actions they are responsible for without halting up the others. For instance, searching for a song should not prevent me from playing music that is already loaded into the player.

Anyway, there were two new technologies created here. The first is a treeview-like control that spiders a given directory for files of a certain type. In this case, the library frame implemented this control to look for various types of music files. The second technology is actually more of an implementation – it’s embedding a WindowsMicrosoft Media Player object into a webpage, but customizing it to the extent that it cannot be visually recognized. In fact, that image of a jukebox really houses a Media Player object. The client-side Javascript talks to the control using the Media Player API, which tells it how to queue up songs, seek, repeat, etc.