This is one of those news items that's fun to write, fun to read, fun to comment on, and where no one will be able to say anything unkind. It's all just one big ball of awesome fluffiness. TuneTracker, the BeOS radio automation software, has just released something very special: TuneTracker System 5, the first version designed entirely and specifically for Haiku. In fact, it actually includes Haiku in the software package. Better yet, TuneTracker also unveiled several system-in-a-box products - which have Haiku and TuneTracker pre-installed.

1. Use file attributes to store all the metadata on the media (instead of having to use sqlite/mysql like xbmc does). It seems like a perfect fit for Haiku (probably the reason TuneTracker is still a BeOS app).

I see the benefits in storing meta data in the file system, instead of a database, but I have a few doubts:

1) can you easily and *efficiently* do a query on metadata? e.g. SELECT AUTHOR, FILENAME FROM /home/user/mp3/ WHERE TITLE LIKE '%RED%'; ?
2) would that query result be cached by the file system cache or would you want to traverse the whole library? Would you need to write your own cache mechanism? Would you want to preserve the state of the cache between runs?
3) Do all copy methods ensure file attributes are preserved? I would think that cp works differently than a copy routine coded in an application and, say, something along sendfile(). That opens the risk of losing precious meta data.

2) would that query result be cached by the file system cache or would you want to traverse the whole library? Would you need to write your own cache mechanism? Would you want to preserve the state of the cache between runs?

Yes, you can save queries. I used to have 4 or 5 queries saved to filter for specific file types or email status. They are known as "live queries" and Tracker displays them like a folder (as an example) when opened. AFAIR, one can do similar with the low level API. But because Attributes are indexed, running the query again is not as intensive as say, using the find file dialogue in Windows XP.

3) Do all copy methods ensure file attributes are preserved? I would think that cp works differently than a copy routine coded in an application and, say, something along sendfile(). That opens the risk of losing precious meta data.

The meta data is preserved. The metadata is stored on an inode level. Read this book for more info: