It took me a while to get foo_browser running as I wanted, but now I wonder how I did without foo_browser. Many thanks, cwbowron, for this great component. It makes dynamic generated playlists so simple even my parents can use it and like it

I understand the component is still in development so there are probably features you intend to implement later on. I've done some thinking too (to my own needs of course) and it would be great if you could add following features to foo_browser:
* Empty output shouldn't create list value: A formatting like $if(%field%,,NA) will lead to 3 values in the browser list: [All], NA and an empty line. I think it would be nice if the empty line wouldn't be shown in the browser. If you want them to show you could still put a space in the formatting string so the empty line shows (it's not empty due to the space, but it looks empty).
* Extended support for multiple values per track: Right now the browser can either use a TAGZ style (%field%), or a multiple values style (field). However, you cannot perform any foobar formatting scripting on the multiple values style. For example (a very stupid one); $if(%field%,Y,N) works, but $if(field,Y,N) doesn't). In my humble opinion it would be better to execute the formats for each value found. Thus, if you have $if(%field%,Y,N) as formatting and there are 3 %field% tags in the file, the formatting should be performed 3 times - once for each found %field%. In this example it would be a bit stupid, but I have some pretty good use for it.
* Unlinked browsers: In the current version browsers appear to be linked to each other. If you select an artist in the first browser list the following browsers are updated and show only information about the selected artist. Although that is nice it sometimes becomes frustrating because changing a field can reset a lot of other browsers. I have browsers like Genre, Mood, Tempo,... But when I simply add a genre to the selection, all other browsers are reset to [All] and I have to set them again. It would be nice to have to option to exclude certain browsers from this 'link'. So when Genre, Mood and Tempo are unlinked and you change the genre, the Mood and Tempo browser keep their content and selections.
* AND functionality for multiple selections: Right now when you select multiple items in the browser it performs a logical OR. For example, select 'Rock' and 'Punk' in the Genre list and the browser will load all files with either Punk or Rock as genre. But sometimes it can be useful to do a logical AND instead of OR. Think about files with multiple value tags. For example, I use a tag %instruments% in which I put the key instruments of a track. There can be multiple instruments per file. Sometimes I'd like to select all files with a Spanish guitar and a trumpet. Right now this selection returns all tracks with either a trumpet, or a guitar beacus the logical OR. With a logical AND only the files with both a guitar and trumpet would be returned.
How this should be implemented in the user interface, I don't know. Maybe a button below the list that switches between AND & OR? And of course an option in the preferences for each list to show the button (because not everyone will want that) and set a default behavior (AND or OR).
Those are (I believe) features that would enhance foo_browser's functionality and usability in a great way. It would be really great if we could see those features in a future release.
There's one more feature I'd like to propose, but it shouldn't get too much priority. I think it may make things needlessly complex although it could be used for some cool stuff:
* Ability to create multiple values per track: What's the idea? Have the output of the formatting string scanned for a specific delimiter symbol and split the output by that symbol to multile values in the browser list. A very simple example would be an %artist% field containing 'The Beatles'. In a sorted list you'd find this artist under T, with a little formatting you can have it appear under B. But what if we could avoid all confusion and have it shown under T... and B! For example:
$if(
$stricmp($left(%artist%,4),The ),%artist%|$right(%artist%,$sub($len(%artist%),4)),
%artist%
)
returns "The Beatles|Beatles" when a name that starts with "The " is encountered. If foo_browser would just scan this output for the occurance of |-symbols, then split by it, you could have multiple values per track (|-symbol just taken as example).
I hope I made my ideas clear and I hope cwbowron sees the same advantages in them as I do. And who knows, maybe we'll see these ideas in foo_browser one day. I certainly do hope so

Keep up the good work!