This may be a niche request, and it's also possible I haven't thought it through properly.
But I thought I'd post it anyway as a conversation starter so others might be able to show either:
a) why this won't work, or
b) other possible uses to get excited about.
Background
I'm building a nice new artist overview album cover view that uses a virtual tag to group artists' tracks by album, EP, single etc. One of the categories I'd like to include is cover versions. (Note that any references to covers here refers to songs re-recorded by another artist, not covers in the sense of album covers or artwork.)
So, having selected an artist name in the column browser, as well as showing their own tracks it would show tracks of theirs that have been covered by other artists. For example, selecting "David Bowie" in the column browser will include Nirvana's cover of "The Man Who Sold the World" from their album "Unplugged in New York". So far, so good.
The problem
The problem is that when I select "Nirvana" in the column browser, it will also appear as a cover. In that case though I want it to appear with the other tracks on the "Unplugged in New York" album - it isn't a cover of one of their songs.
This isn't currently possible because there is no way to provide context to the virtual tag that that track is only a cover when I've selected David Bowie.
The solution?
To cater for this (and other uses), I'm proposing some new built-in "tags" that reflect what selections have been made to populate the current view. Some possibilities that come to mind are column browser selections, the current view and maybe the tab name. The first would allow a virtual tag to display different values for different artists/albums/genres - whatever columns you use. The others would allow a virtual tag to provide different values in different views. I'm sure people could come up with uses beyond the specific one I've described.
User selections in the GUI could be provided via new functions.
e.g.
$ColumnBrowser(ColumnName) would just return whatever value was currently selected in that column, or null for the default All Items (or if the user specifies a column that isn't actually displayed, I guess).
<CurrentView> could return the equivalent menu text for the active view (Tracks | Album and Tracks | Album Covers etc., in the users specified language) or the name of a custom view.
<TabName> would return the name of the active tab.
It's a little confusing that the first one functions more like a function because it takes a parameter, whereas the other two are more like custom tags. Maybe a new character delimiter could be used to make it clear these are neither functions nor tags? I'm not sure.
Implementing this doesn't seem like it would be too difficult since MusicBee is just exposing values it already knows to the user, but I might be overlooking something obvious.
I'm interested to see what other people make of this suggestion.
Bee excellent to each other...