I couple of related cool features I would like:

1) It yould be cool if tags could be multi valued. The genre tag for example: I tag all my soundtracks as "soundtrack", but in my CD catalogue I like to track a lot of cross over albums. "Miyu-Hime" gets tagged as "soundtrack" and "anime", while "The BLues Brothers" is both "soundtrack" and "blues", "Camel" gets tagged as both "rock" and "progressive" while "Minimum Vital" is simpley tagged as "progressive", etc. The resulting web of tags allows me to more accuratly track bands that are hard to classify or have a lot of variation in their work. This is just one use of multi-valued tags, other uses could be found for collaboration disc/tracks (like B.B. King's "Deuces Wild") and so on.

2) why? once you have a db that more accuratly stores how you think of your collection, it's pretty easy to make the leap that you want to define playlists that pick up on this by searching the tags rather than being explicitly defined. e.g.: I have the "deuces wild" classified under B.B. King, but I want the duet track with Van Morrison to show up under his play list too. You can do this with links, but that is higher maintenance.

Being a server software geek that I am, I envision a search specification syntax similar in power to LDAP filters - A simple prefix notation with parens up the wazoo e.g. (&(year=1999)(genre=techno)) would play all my techo objects (either playlists [albums] tagged as such, or loose tracks from mp3.com) from 1999, or (|(genre=techo)(genre=emo)) would play all my techo and emo objects.

A side effect of working this way is you get a poor man's tag inheritance; e.g. I have "artist" set to "808 State" on my "Don Solaris" playlist and leave the tag blank for all the tracks - but a search for artist == 808 state would pick up the playlist. being able to specify inheritablity on a tag by tag basis would also be nice for playlists, but I can see the complexity of that when tracks are hard linked into multipule explicit playlists that may have conflicting tag data values, so I could live with out that feature on the player.

While I suppose these relationships could be maintained and rebuilt when new tracks are uploaded by off unit software, that seems like the backwards solution.

(Oh, and I am doing this all on the command line under Linux)


--- Carl