In response to:
----
- Let's imagine that you can rate a transition as either
- very good, good, bad or very bad. Since all FIDs have
- their lower bit cleared (i.e. they're even), all you
- have to store for each transition is two sixteen-bit
- numbers - four bytes for every transition stored. The
- low order bit of each number encodes the transition
- rating, and is XORed out to give the FID. When you read
- the table in you store it as a hash of hashes keyed on
- the 'outgoing' song.
----

Are you confusing bits and bytes here? It takes 2 bits, not 4 bytes to represent 4 possible ratings (I still say you only need two ratings: good or bad). All fids for 'emplode elements', for lack of a better term, have not only there lower bit, but there entire lower byte cleared. Fids for 'properties of an emplode element' (ID3-ish info) do not have their lower byte cleared. At least that has been my experience from playing around in the fids directory. It looks like the empeg people have reserved 15 possible 'property' filenames for each 'element' filename. Does this mean a tune can only be referenced in a maximum of 15 playlists?