I would like to note that I
am very interested in such functionality being available and distributed either as part of the "core" or as a standard addon module - just as long as it is likely to be "on" all the time (this seems like "core" to me, but I don't know enough about foobar2000 to say).
I am the current maintainer of a plugin for
DesktopX called DXPlayer. Fortuitously, I have just
written an article on the plugin, but basically DXPlayer is a "remote" for DesktopX objects. You click on an object, it clicks "play" in one of the players supported by DXPlayer that happen to be active, if there are any (either the first one on the list of players, or the player selected by the user). It allows changes and display of volume, position, title displays, etc. It makes it so that the user can use a DesktopX media player widget with whatever player they like . . . as long as that player is supported by DXPlayer. Here is
an example of one of these widgets, which controls at least winamp/QCD (I forget iif support for iTunes and others was compiled into that one). DXPlayer uses both COM interfaces and windows messages to achieve this goal, whatever the player application requires.
Now, there is a user interest in Foobar2000 being added to that list of supported players, as you can see in the comments of the article above. To do this, I need to have some way of talking to Foobar2000. I was
not aware of the foo_remote/foo_winamp_spam plugins, as I'm just looking into this now - I will consider them, but I would far prefer an internal implementation. It seems that there is none at this time, which makes me sad.

I do not really agree with the idea of each programmer having to install a plugin. It is partly a matter of ease of use/implementation on the client's end (my end), and partly of what is proper for me as a client program to do. In my opinon, a media player widget should not be messing around with people's installations of foobar2000. If I went around installing modules in IE to support my program, would people like that, or would it be viewed as spyware?

Having an interface available also means programmers who wants to access foobar2000 do not have to learn how to write a (potentially buggy) interface module. Who knows better what would be appropriate for such an interface and how to write it but the Foobar2000 community itself? Frankly, I have better things to do with my time, and would prefer to implement or improve support for those players that
do have a well-defined interface, such as Winamp, WMP and iTunes. This is one good reason why those players are already available to control in DXPlayer.

So, yes, I would be very interested in such an interface, if available for the majority of Foobar2000 users - preferably all of them! I guess I could tell people to download a certain plugin, but in my opinion it would be better if it were included and "running" at all times without my intervention, if possible. This means developers can rely on it. If you are looking for which functions would be most used by an example client, I would suggest you download the free trial of DesktopX, and look at the Program Files\Stardock\Object Desktop\DesktopX\SDPlugins\DXPlayer.txt file, which contains a list of all the functions currently supported by DXPlayer.
Incidentally I wouldn't mind if you just went and implemented the Winamp interface as fully as possible, perhaps by improving the foo_winamp_spam or foo_remote plugins and including that as default. It would certainly save me and a lot of other program writers the need to add another interface to our applications - instantly you have compatability across the board! The best reference for the interface that I know of is the
5.04 updated SDK if you want to have a go at that.