Yeah, this is from folding the browse/query stuff into the playlist parser. The interface that the soundbridge uses is completely different from the one iTunes uses. I jettisoned a bunch of query parsing code and tried to use the playlist parser to parse the soundbridge queries. Clearly it didn’t fit well, but once it actually works, it will be a net plus — both types of queries will have the same parse tree, and can be merged easily.
Where I hope to go with this is to set a “base playlist” based on logon or password or connection ip address. Then you could use a smart playlist as your base library. So you could have your kids connect with a password and have their base playlist be ‘content_rating != “explicit”‘, and have smart playlists (and even static playlists) generated with respect to that as a base.
That’s why I want to merge the parsers. Clearly it’s not quite there yet, though.