One of the things I’ve been constantly delaying on Gloss is the development of the music player module. For a long time this was simply because I had no idea in my own head about what it should look like. I’ve bitched and moaned along with all the others about the existing MythMusic interface, but when it was all said and done, I didn’t have anything better to offer.
Well that is now a thing of the past. There’s a plan in my head and some code in SVN. What I’m picturing is a mix of the interfaces from Elisa and FrontRow, hopefully being a little simpler in the end. One of the crucial things I decided early on with this idea though was that it would require images. Lots and lots of images. Nobody likes sorting through a list of band names when you could be rolling through some form of pretty image display (ie Coverflow).
The obvious problem with this though is, of course, actually having the images. ID3 data in the files themselves is ok, but it really doesn’t represent the band itself. If you’ve got a band with 5 albums, which album cover do you pick to represent the band? So whilst Gloss will now pull images out of ID3’s, the solution is for the higher level pics fairly obvious, Last.fm. Last.fm offer a reasonable web service interface allowing you to get information, including images if you look hard enough, on bands, albums, songs etc. Integrating with Last.fm wasn’t too difficult, although bringing it all together is still a work in progress.
Currently, Gloss will run through your existing music collection and download (in the background) images for artists and albums, storing them locally for future use. This is a fully automated process and has about a 95% success rate. Once the images are downloaded, artists and albums can be searched in a pretty growing/shrinking image row, similar to what Elisa currently uses. I’m thinking in future that I will also pull general info about bands (description, tour dates etc) from Last.fm, but these would obviously require further DB updates, which I am hesitant to do.
So that’s about it for shiny new stuff type updates. There’s been a bit of work ‘generifying’ some code to make it usable across the whole system rather than just in specific modules. Code reuse is a glorious thing when you sit down and make things useful 🙂
Depending on how busy I am over the next week, I’d like to have another screencast with the basic Music interface up within 2 weeks, but there’s still a lot to do.