I’m occasionally called upon to explain exactly what “The DJ” is, and rarely do a very good job, so I thought I’d make an effort here for future reference. In short, it’s one of my personal hobby/research software development projects, the original purpose of which was to play music. Two sentences in, and already I sound like a nutcase – the world has far too many media players already doesn’t it. This is why further explanation is needed.
The project originated 5 years ago, when like a true geek, I had the whole house networked with a PC in nearly every room. The task of ripping all our CDs to a central hard drive had begun, and is still ongoing to this day. Believe it or not, in the UK, I’m breaking the law by transferring the music I purchased (in many cases twice) to a more convenient format. I haven’t used the F word yet in this journal, so I will have to leave it to the music industry’s imagination as to what they can go and do to themselves. Anyway, this was a great thing in itself, since previously listening to music involved shuffling through stacks of jewel cases, wondering which room the desired CD was actually in, hoping it hadn’t been scratched or spontaneously deteriorated (no, you can’t eat your dinner off them after all), being forced to either listen to a full album, or constantly jump up and down to feed the CD player. Instead, we could now access all our music from whichever room we were in, and in any order we wanted.
Sadly, this new found freedom, though it solved all the problems I just mentioned, was far from perfect. Firstly, in pretty much any scenario where you want to listen to music (think relaxing, partying, cooking, etc), the last thing you want is to have to deal with a “bloody computer” – not least because amongst the many failings of the modern computer interface, one of the biggest is the way it demands your full attention. Setting up playlists and messing around with mice and menus was ok for a while, but I soon got to wondering what the ideal situation was. My answer was that you’d want your own personal DJ sitting there, playing music you liked, and responding to your requests. That’s the point of “The DJ”.
A few technical details now. Currently it’s a C#/.NET/WinForms project, built in SharpDevelop. Previously it’s been built under VS.NET 2003, and before that Visual C++ 6 and even VB6. The intention currently is to migrate to Mono/GTK#, though other options are on the table, even including Xul. The original C++ version played the music itself, but all versions since have handed the task off to an external application, either Winamp, an embedded WMP, or most recently, and for the forseeable future, VLC. The DJ launches a hidden VLC instance and communicates with it over a TCP/IP interface, so you don’t actually know VLC is there at all.
Another day, I might go on to describe how it all works in practice, and how the original concept has expanded over the years to the point where music is only a small part of what it does. Or then again, I might not bother. Only time will tell.
-
When I am working I use pandora. I checked your site and didn’t find mention of it by searching on google “pandora site:http://ciarang.livejournal.com”
Have Fun

1 comment
Comments feed for this article
Trackback link: http://ciarang.com/posts/all-about-the-dj/trackback