Djukebox is currently very early in development and so most features don't exist or are buggy, of course. The UI is mostly non-existent. Asynchronous upload of files to allow continued browsing while uploading, audio encoding asynchronously within Celery tasks, and (buggy) playing using the browser's built in audio player are all functioning, though.
Audio encoding can be troublesome and the desired trade offs will vary from person to person. With that in mind the audio encoding is modular and a user can write their own classes to handle encoding. This means that a different audio encoder can be used, different settings on the audio encoding, etc.
Editing track data including title, artist, album artist, and album title has been added. The album artist and album title are part of the track data, so editing the album title for instance, would not change the name of the album the track is currently associated with, it would associate it with a new album (or an existing different album) with the correct title and artist.
The URL to view routing is now like a simplified version of Django's routing. There is an object which you register a list of routes which are a regex, a function callable for the view, and a context object to pass into the callable. The regex is matched up to the hash fragment in the url and the callable is called.
Just pushed a fairly big change out to github yesterday. The update has done away with all of the iframes. The uploader iframe has been replaced with an ajax upload courtesy of blueimp. The main content iframe is now being handled by ajax calls back to a new Tastypie powered REST API and updated with handlebars.js templates.
A rework of the UI is in progress. I am working on removing the primary iframe and re-implementing with Handlebars.js templates and ajax calls to a Tastypie API. I intend to stick a post or two over on the blog about my experience using handlebars.js along with Django.