dmap

I’m planning on building a Ruby library to parse and create DMAP bytestrings. Primarily in order to create a DAAP server in ruby, though if anyone has other interesting uses that would require changes to this code please don’t hesitate to get in touch!

What is dmap?

DMAP are a method of storing a variety of objects in a bytestring, its used all over the shot by Apple in iTunes, iPhoto and probably many other places. You can read up a little on the wikipedia (en.wikipedia.org/wiki/Digital_Audio_Access_Protocol) or read about the daap protocol (tapjam.net/daap/) to get the gist of it.

There’s a big ol’ list of the tags that are known on the deleet.de website (www.deleet.de/projekte/daap/?ContentCodes) but there are undoubtedly many more (I remember from an old project that similar file structure is used for QuickTime’s mov containers and even for the mp4 container, so there may well be more there too). If you find any useful resources please get in touch!