I have a WiFi network setup which covers my apartment. I’m a music buff as well, and music is almost always playing while I’m working/browsing.
Now more often than not, I would be generally working on my office laptop – testing/ coding/ documentation / something of that sort and my music collection is on my personal laptop. I’ve often wanted to control the music – skip it/ pause / jump to specific songs, and started about searching the best way to do so.
The most obvious solution was to use the Remote app for the iPhone/ iPod Touch. There was a slight problem with this. Remote app uses Bonjour, and that means I’d have to use iTunes as my media player. For the record – I hate iTunes. It’s a POS application which I’m forced to use for syncing my music and I try to use it sparingly. I love foobar2000. I started out searching for alternatives to Remote, and found this neat little plugin – foo_touchremote, but it was rather unpredictable and would crash foobar often. Another big problem was that I’d have to re authenticate foo_touchremote everytime I leave & rejoin my WiFi network – which is atleast 2-3 times a day. Very annoying.
That plus there would a dependency on the iPhone/ iPod Touch on the rare occasion that I’d have to give up my iPhone, so I started searching for more “open” (*snark*) solutions.
The thing which came to my mind when thinking about an “open” solution was use to an http server (plugin? ) so that any device with a semi-capable browser could handle this. After searching for a bit, I came across HTTP Control Plugin [foo_httpcontrol] which would be the foundation.
Going about doing this
So here’s how you set it up. Download the archive, and move foo_httpcontrol.dll file to your Program Files\\foobar2000\\components directory
Copy the foo_httpcontrol_data directory to %appdata%\\foobar2000 directory ( %appdata% refers to Users\\AppData\\Roaming folder).
Grab any of the templates. Save the template folder under %appdata%\\foobar2000\\foo_httpcontrol_data folder.
Next, launch foobar2000. Goto File – > Preferences Menu.
Click on HTTP Control to bring up the subpage.
Now, the screen maybe confusing but we really need to focus on “Listen on:” area, more than anything
Listen on allows you to define the IP address on which the server should run ( read: your computer). Now, before you rush off to enter your system IP address, remember couple of things:
- The WiFi network is bound to be DHCP based, meaning the IP address is assigned automatically by the router
- If you have multiple devices, the IP address is likely to changed. Meaning, that everytime the IP changes, you might have to stop and start the service.
You have 2 possible solutions to overcome this:
- Let your router remain DHCP configured, but put up a static IP for your system. This way, your IP will never be assigned to any other devices
- Some routers can reserve IP address and bind them to the MAC id. This way, when the system connects to the WiFi network, the router checks the MAC id and if a reservation is available, then assigns the IP. This is what I had done.
I’d recommend that you use the router’s DHCP reservation feature, else fallback to static IP assignment.
Right, back to foobar, enter the IP of your system and a random port. Put a check mark against “Start server” and click on Apply. Your server is ready.
Click on the open link to open your browser
So the basics are set. Use any device and point to your IP address. If you don;t want to type in the full IP address:port combination, copy that, and use a URL shortener like j.mp or bit.ly and set your custom name, and use that URL to control foobar2000.
As a bonus, if you have an iPhone/ iPod Touch, open the URL in Safari and use the “Add to Home screen” feature and make it act as an app as well.
This is how it looks with the kevo template on my iPhone
If you’re paranoid about security, foo_httpcontrol allows you to restrict access to only specific IPs or even the standard username / password scheme
At the bottom, of the screen you will see some advanced settings. – it’s recommended that you leave them as how it was configured.
The concept is pretty simple, and with this approach, you can convert any Wifi enabled device into your own music remote control.