The latest reincarnation of Hang The DJ, my music player, is coming along nicely. In the alpha stage, it’s currently an excellent way to stream your massive music collection to your laptop.

It sits atop an open source media streamer called Ampache. I had to extend Ampache to support the more advanced features of Hang The DJ. But this extended version of Ampache still retains its full feature set.

I have plans for a full set of Hang The DJ mobile clients, but they are further down the roadmap.

In the meantime, I can still use Ampache with my iPhone in a couple different ways. There are some Ampache iPhone clients but they are rough and limited. However, Ampache by itself has a nice web interface. You can play your music by downloading, by streaming, or through a bare-bones flash player.

Flash is out on the iPhone. Downloading each song is cumbersome. But the streaming works! It’s not foolproof. The silly Safari browser on the iPhone has a ridiculously short timeout on streaming requests, something like 16 seconds, and I don’t know of any way to adjust it. So for a long time, it just didn’t seem to work for me. But following these rules, I can get to my whole music collection from my iPhone:

  • Make sure you have a decent server. I recently upgraded my server to use a quad core i7 cpu and it seems to help.
  • Make sure your upload bandwidth is sufficient, obviously. I have really crappy crappy “10Mbit” service from CenturyLink, which gives me about 20kbps upload. Hates it. But it’s currently my only option and it’s working.
  • Make sure your iPhone is in a 3G zone. Edge service through AT&T didn’t seem to work. Stupid AT&T.
  • Stream 1 song first. This is your best chance of completing the setup between Apache and Safari before timing out. Once that’s confirmed to work, slowly bump it up until you get timeouts. I can do 3-4 songs but 20 seems to fail consistently.

Yeah it’s not ideal. Just more motivation to get going on the iPhone client! 🙂

In the meantime, shoot me an email if you’re willing to try Hang The DJ out on a desktop or laptop, that would rock. Peace.

iTunes sucks.  I have much higher ambitions for my own software, but alas I haven’t hit the lottery quite yet.  😛  Anyway, the latest chapter of suckitude is iTunes’ pee-poor handling of remote files on a media file server.  What a $(*#@ basic need.  I can set up a samba share and see all the media files just fine from my MBP laptop.  Then I “Add to library…”, being careful not to copy the GB’s of music down to the laptop by unchecking the iTunes->Preferences->Advanced->[Copy files to iTunes Media folder when adding to library] checkbox.  It takes over an hour to scan the directory (what the HELL), and then iTunes proceeds to lock up my machine, perpetually, trying to perform [Gapless playback detection], even though I have crossfading turned off.  I get to repeat this process every time I add ONE file to my music collection.  Or rather, I don’t, as I refuse to go through ANY of this bullshit ritual.

There was a slight reprieve in the suckitude when I discovered mt-daapd (aka Firefly?), which serves up all your media from a linux fileserver over DAAP, Apple’s sharing protocol.  Wahoo, I’m back to loving you, Apple!  My media server scans regularly, serving up the files with the greatest of ease, and  iTunes is showing all my files under the SHARED tab.  Happy happy joy joy!  Until I try to drag a file to my iPhone.  Strange, it won’t work.  Well, not really strange.  Kind of predictable.  Welcome to the thin Aqua-colored veneer over Apple’s standard corporate behavior.  Puke.

I’m mostly bitter because I certainly should have developed a better way by now.  Shutting up and dusting off the old drawing board…

It’s time to move another step into the digital age.

I’ve worked for years on my HangTheDJ mp3 player, and it’s provided me with countless hours of pure bliss, playing a constant stream of mp3’s just right for the mood I happen to be in. But it’s time for a reassessment.

The problem: information organization. In the digital age, get organized or drown. The only practical solution to getting organized is to store all digital media in a central location. Then stream what you need from the central store to where you are. (continued…)

I’m reviewing database storage in my little app after several years of dealing with M$’s calculated disregard for older technology (DAO in this case). (continued…)

Time to update boost to version 1.35 under linux, now that I’ve updated it under Windoze. (continued…)