QUOTE(slab @ Jul 11 2004, 12:10 AM)
I was just thinking today, would it be possible to offload the foobar UI into a seperate application? My reason being if the ui was a seperate application, it could be written in a multiplatform language (ie java), and be able to control foobar over a network? I think this could possibly assist in the people who always ask for an equivalent to foobar being written for linux. The guts could be run on an old, dedicated machine running windows, and it could be controlled over a lan by the gui running on a seperate machine.
Anyway, this was just an idea I had, and I would try myself but wouldn't have the foggiest idea where to begin.
Why make it a separate app? Then, you would just have to duplicate major portions of the Foobar API, and pass them around between applications via some IPC scheme. The real solution for what you want is to build a Foobar component that allows Foobar to be controlled over HTTP, and preferably by something like XML-RPC or SOAP.
I actually wrote such a component once upon a time for a private project. It was a Foobar component that was primarily a web server, and allowed playback and playlist control, originally through HTTP, but eventually it was completely controllable via XML-RPC. The client application was a graphical front end, optimized for display on a TV. Since the client and server communicated via XML-RPC, it didn't matter if the client was running on the same machine, or somewhere else on the network.
Unfortunately, the Foobar API changed, the project died, and I never bothered to update the component to the new API. I believe there is at least one HTTP server (foo_http_write?) that might be useful for what you are looking to do, though.