METHOD 1:

The easiest way to determine the IP address of your Foobar2000 server PC is to read it off the File>Preferences>Tools>Control Server screen in Foobar2000.

Make sure your server PC is connected to your local network before you bring up the Control Server preferences screen.

 

 

METHOD 2:

In Foobar2000 Copilot on your mobile phone, you can also use the 'scan for foobar server ip' feature listed under the page menu for the connections screen -- if for some reason you aren't near your server PC to use Method 1.

This option will essentially auto scan a range of IP addresses, seeing which one connects to your server. 

 

 

 

 

To use this option, you must have your phone connected via Wi-Fi to your local network where your Foobar2000 server resides.

Foobar2000 must also be up and running and with the 'foo_controlserver' plug-in installed and configured (see : foo_controlserver plug-in install for more details on that plug-in).

Also if you have multiple Foobar2000 servers on the same network, turn off all servers but the one you want to connect to for the duration of the scan, since the scan will stop after finding the first Foobar2000 server it can connect to. But if you have to do this, using METHOD 1 above is a lot easier.

On startup, this feature will detect the IP address of your phone and then use its base IP address for constructing the range of IPs to scan. So for example, if your phone's IP is 192.168.0.10, it will scan from 192.168.0.1 to 192.168.0.255 by default.

Scanning thru 255 IPs can take about 3 minutes, but it is unlikely you will have to scan them all.

The base IP address and range displayed on the screen are editable fields, so you can alter them should you want to limit the range of the scan or should you need to use a different base IP address than the default for some reason.

If the scan finds a Foobar server, it will display its address in the 'Server IP' box. You can select and copy that text should want to next paste it into the 'connections' edit form.

 

< back to Table of Contents

After you have:

1) installed the PC version of Foobar2000 on your Windows PC

2) installed the Foobar2000 Control Server (foo_controlserver) plugin in Foobar2000

3) downloaded and installed the Foobar2000 Copilot app to your Windows Phone from the Microsoft App Store, you can then do your server setup in Foobar2000 Copilot to connect with Foobar2000. 

 

STEP 1:   Turn on Wi-Fi on your phone, if it isn't already on

Foobar2000 Copilot on startup will look for your Wi-Fi connection and will timeout in about 45 seconds if it doesn't see it. You will see the 'Waiting for Wi-Fi…' message cycle on the 'now playing' screen. Note nothing in the user interface blocks while Foobar2000 Copilot waits for your Wi-Fi.

You can bring up your phone's Wi-Fi settings and connect to your network at any time (you do not have to wait for the timeout) by selecting the 'Wi-Fi settings' menu option under the page menus on either the 'now playing' screen or the 'connections' server setup screen. Just tap the ellipsis '' to see that menu option under either screen.

Even easier, if you see either the 'Waiting for Wi-Fi... >>' or 'Wi-Fi not detected. Is it turned ON? >>;' messages displayed at the bottom of the 'now playing' screen, just tapping on the message text will take you to your phone's Wi-Fi settings screen.

When done turning on your Wi-Fi and connecting to your network, tapping on the dedicated Windows back button will return you to Foobar2000 Copilot. On re-entering Foobar2000 Copilot, it will then automatically try to connect again.

 

STEP 2:   Get IP Address and Port Number for your Foobar2000 server PC

Startup Foobar2000 on your PC

Make sure the foo_controlserver component is installed in Foobar2000. If it isn't installed, see : foo_controlserver plug-in install

Make sure your Foobar2000 server PC is connected to your local area network.

Then in Foobar2000, bring up the foo_controlserver preferences page -- File>Preferences>Tools>Control Server.

 

 

Then use the IP address and Server Port listed on that page to setup the server definition in Foobar2000 Copilot -- see the next step.

 

STEP 3:   Input Foobar2000 Server Definitions (on Windows Phone)

The very first time you startup Foobar2000 Copilot on your phone, it will see that you have yet to specify any servers to connect to, displaying the message 'No foobar servers defined>>'. Tapping on that message will take you to the 'connections' screen.

You can also jump to this screen at any time from the 'now playing' screen by selecting the 'foobar2000 connections' menu option from the menu displayed when you click on the ellipsis '' on that screen.

 

 

 

 

On the connections screen, click on the '+' bottom menu button to add a new server definition.

Enter the IP address and port number for your Foobar2000 server PC (from step 2 above). You also need to give it a descriptive label so you can easily identify the server, i.e. something like 'office' or 'living room'.

Note if you are already connected to your local network via Wi-Fi on your phone, Foobar2000 Copilot will prefill the base IP address of your local area address -- just fill in the last digits of your Foobar2000 Server PC.

 

 

You can add more server definitions here if you have multiple Foobar2000 server PCs.

These definitions will persist between your sessions, so you will not have to re-enter them each time you startup Foobar2000 Copilot.

 

STEP 4:   Connecting to your Foobar2000 server

Foobar2000 Copilot Connections screen:

 

 

 

To connect Foobar2000 Copilot to a PC Foobar2000 server, select the server from your server list by tapping anywhere on its line -- the line will highlight in your phone's selection color.

Make sure your Foobar2000 server is in fact up and running, then tap on the 'connect' button located on the bottom left side of the screen.

You will see the 'Connecting...' message appear at the top of the screen as Foobar2000 Copilot tries to connect to your Foobar2000 server. Usually it takes just an instance to connect, but Foobar2000 Copilot will try up to 45 seconds to connect before it times out on the try.

On successful connection, you will see ">>" appear on the left side of the server line and see a connected message appear at the top of the screen. If the connection attempt fails, you will see the message 'Wi-Fi is ON but no foobar connection' appear.

Note nothing in the user interface blocks during these connection attempts.

You can tap the 'connect' button again to re-try at any point.

Also should you realize you selected the wrong server from the list, select the server you do want and tap 'connect' again. You can do this in the middle of Foobar2000 Copilot already trying to connect. You do not have to wait for the 45 second timeout before trying a different connect.

Also if you need to correct the saved IP address you can do so while in the middle of the connection attempt.

If you are having issues connecting to Foobar2000, see Troubleshooting for a list of things to check.

Note if your router is using dynamic IP's (very likely), unless you reserve IP's on your router for your Foobar2000 Server PC, your router may periodically assign different addresses to your server PC, and so a server definition you had previously saved and which use to work, may break. See Troubleshooting for more details.

 

Auto-connect checkbox

Check the 'auto-connect' option on the Connections page if you want Foobar2000 Copilot to auto-connect on startup with the last server you had successfully connected to. This will quickly allow you to automatically connect to your server on startup without even having to go to the connections screen and make selections.

If you do not check this option, Foobar2000 Copilot on startup will display 'Select server>>' on the 'now playing' screen, waiting for you to specify which server you want to connect to. Tapping on that message, will bring up the 'connections' screen, allowing you to select from your server list and then initiate a connect, using the 'connect' button.

So it's recommended you keep 'auto connect' checked, because even if Foobar2000 Copilot comes up attempting to connect to a server you didn't want, you can at any point go to the Connections screen and specify the server you do want.

Even if Foobar2000 Copilot is in the middle of doing its 're-tries' to connect to a server, you can just tap on another server in the list and then tap on the 'connect' button, and Foobar2000 Copilot will automatically switch mid stream to connecting to that server, so you do not even have to wait for it to time out.

You can also be connected to one server and switch to a different server at any time. To connect to a different server, just select if from your servers list, and then click on the 'connect' button. You will be prompted for confirmation that you want to disconnect from one server and connect to another one. You can be connected to only one server at a time.

 

Connections Page Menu Options

 

< back to Table of Contents

You can perform this check at any time, should you have missed the Windows Firewall Security Alert screen (see below) after first installing the control server Foobar2000 plugin the very first time, or are troubleshooting a connection issue and want to re-confirm your settings.

 

 

Because Foobar2000 Copilot communicates with Foobar2000 thru a network connection, it will fail to connect if your PC firewall software blocks access to Foobar2000.

Windows Firewall will by default block network access to any installed program unless you grant access.

The following section describes what you have to check and/or do if you are using the default firewall capabilities built into Windows. If you aren't using Windows Firewall, but instead installed some other vendor's Firewall software, you will have to do something similar, but the particulars will depend on your firewall software.

STEP 1: On your Windows PC, bring up the start menu, under programs bring up 'search' (or Cortana if on Windows 10). Type "allow app" into the text entry field, when you see "Allow an App through Windows Firewall" click on that.

 

 

STEP 2:  Find foobar2000 in the list. If it is in the list, confirm that both the 'private' and 'public' networks boxes are checked. Also make sure the checkbox in front of the foobar2000 entry is checked as shown in the above figure.

If all these checkboxes aren't checked, click on the 'Change settings' button and then make and save the changes. This will insure your setup will work on any network you may be connected to.

If foobar2000 isn't in the list at all, add it to the list using the 'Allow another app...' button. Then click on the 'Browse...' button in the popup dialog to select the file path to the foobar2000.exe.

In the file dialog, navigate to C:\Program Files (x86)\foobar2000\foobar2000.exe and select it as shown in the figure below.

Then make sure both the 'Private' and 'Public' networks boxes are checked for it in the Allowed Apps dialog.

 

 

If you want to restrict access only to private networks versus both public and private networks you can still do so.

Just be aware that depending on your Windows setup, your home network may have gotten classified as 'public' versus 'private'.

If you are having trouble connecting, especially if you have switched networks, check the firewall settings for foobar2000 and check whether the network you are on is classified as either private or public.

You can check how your network got classified by looking under Windows Network and Sharing Center. There you will see your network labeled as either private or public.

 

< back to Table of Contents

If Foobar2000 Copilot is having trouble connecting to your Foobar2000 server PC, make sure:

1) Your phone's Wi-Fi is ON and your phone is connected to your local area network.

2) Foobar2000 is running on your server PC and that PC is also connected to your local area network.

3) The Control Server (foo_controlserver) component is installed in Foobar2000 on your server PC. This component is what allows Foobar2000 Copilot and Foobar2000 to communicate over your network.

Make sure its default settings are set.  On that component's preferences page in Foobar2000, click on the 'Reset page' button, and then the 'Apply' button.  Do NOT press the 'Reset All' button, since that will reset all your Foobar2000 installed components back to their defaults.   

If you don't have this component installed in Foobar2000, see : foo_controlserver plug-in install.

4) The IP and Port address you set in your Foobar2000 Copilot server definition match the IP and port specified on your Control Server preferences' screen on the Foobar2000 PC server.

5) Windows Firewall is not blocking Foobar2000. If you have checked steps 1-4 and Foobar2000 Copilot is still not connecting, check the Windows firewall settings on your PC to see Windows isn't blocking access to Foobar2000.  

See:  Check Windows Firewall settings to make sure communications to Foobar2000 is not blocked

 

Reserving IP Addresses on your Router for your Foobar2000 server PC

You likely are using dynamic IPs on your router and letting it assign those to the various Internet devices on your network.

The issue is unless your reserve addresses on the router, it may dynamically assign different local IP addresses to your Foobar2000 server PC at different times -- so the IP addresses you have saved in Foobar2000 Copilot may initially work and then not work if the router re-assigns those addresses.

The particulars on how to reserve IP addresses depends on your specific router. Look under your router documentation. By reserving IPs on your local network, you can guarantee your Foobar2000 Server PCs will always have the same IP addresses on your local network.

If, however, you choose not to reserve router IP's and Foobar2000 Copilot stops communicating with your Foobar2000 server, do a quick check of the IP address assigned to your Foobar2000 server PC (see: Determining foobar2000 server IP). If  it has changed, update your server settings in Foobar2000 Copilot.

 

Turn on the 'Keep Wi-Fi on when the screen times out' option if running on an older WP8.0 phone

Skip this if you are not running WP8.0.

Another recommendation (not a requirement) is that on your Windows Phone under Settings>Wi-Fi>Advanced, you turn on the 'Keep Wi-Fi on when the screen times out' option.

You may not have this option on your phone. For Lumia devices, this option was available under WP8.0, but has been removed on WP8.1, where the system appears to manage Wi-Fi more efficiently.

The 'Advanced' button is at the bottom of the Wi-Fi Settings screen. If you don't check that option under WP8.0, your Windows phone can by default power down the Wi-Fi antenna to conserve the battery when the screen times out.

But when you reactivate the screen and Foobar2000 Copilot resumes, the phone will have to re-enable the Wi-Fi antenna and re-connect to your router, which can take a few seconds. You will see the phone's Wi-Fi connection icon at the top of the screen 'strobe' until it's fully on.

Foobar2000 Copilot during that time will display 'Waiting for Wi-Fi...' until the antenna powers back up and the phone has reconnected to the router.

Also throughout Foobar2000 Copilot should you try to perform a function requiring a connection to the Foobar2000 server and the connection is down, you will see a visual indication of this on the screen, typically a message flashing 'no connection'

 

< back to Table of Contents

Foobar2000 Copilot Lite

v1.1.0.0 -- available in the Microsoft App Store February 7, 2018

This is the free version of the app. The flashlight feature was removed from the app, since most people already have a flashlight app.  Windows 10 mobile includes a flashlight option built into Settings. I originally put that option into the app since many times I listen to my audio system while sitting on my sofa in the dark.

The Microsoft Advertising ad component was also removed from the app. Only the cross platform advertising adDuplex component is used.  You will see an adDuplex ad now at the top of the Search page of the app, there are no other ads used anywhere else in the app.

Removing the flashlight feature and the Microsoft ad control allowed removing almost all the store permissions needed for the app.

The flashlight option needed camera permissions since the LED light on Windows phone is a part of the camera module.  Hence why all flashlight apps in the Windows Phone store require camera permissions. I may take out the flashlight option the next time I update Foobar2000 Copilot as well.

Because the app uses your Wi-Fi connection to communicate with and control your Foobar2000 server, it still needs network permissions

Also it needs Internet access if you view the online user manual thru the app using Wi-Fi. The user manual in the old version v1.2.0.0 was removed from the app and placed online on this website. The user manual is online so it can be edited without having to get the app re-certified by Microsoft for each edit. The online manual uses the Google translation widget to provide different language translations. 

 

Foobar2000 Copilot App

v1.3.0.0 -- available in the Microsoft App Store January 12, 2018

This is a major release with significant changes :

Display of album art and library searches have been added.

The entire user interface has been recoded and streamlined for a cleaner look.

The Spanish language is supported in this version. All text strings in the app are no longer embedded in the app, but rather are table based, so supporting additional languages in the future should be easier -- mainly entailing providing translated versions of that table.

This version requires use of the updated Foobar2000 control server component (foo_controlserver)  v1.1.5 or higher.

 

v1.2.0.0 - has no album art or library search.

 

V1.0.0.0  - initial release

 

Foobar2000 Control Server (foo_controlserver) Plug-in

All versions of this component, including the full source code for each version, are archived in Github.

See:  https://github.com/audiohead/foo_controlserver/releases

 

v1.1.5  Jan 2018 - updates by Walter Hartman

- Updated socket message sending due to potential performance issues, optimized code for larger album art and playlist messages.

v1.1.5 is backwards compatible with the original v1.0.2. So you can use it with all prior versions of Foobar2000 Copilot.

However, if you want to see album art and perform media library searches in Foobar2000 Copilot version 1.3.0.0, you will need to use this version of the component (v1.1.5).

 

v1.1.4 Oct 2017 - updates by Walter Hartman

- Added track title and album title to the 'now playing' album art msg response

v1.1.4 is backwards compatible with the original v1.0.2. So you can use it with all prior versions of Foobar2000 Copilot.

 

v1.1.3 Sept 2017   - updates by Walter Hartman

- Rebuilt using newer VS2015 Community Edition

- Rebuilt with the new Foobar2000 SDK version 2015-08-03

- Updated preferences dialog to use the new foobar2000 SDK APIs

  (you will no longer see the 'this is a legacy preferences page' warning)

- Added IP address display of local PC to preferences screen

- Added get album art command, returns image (jpg or png), encoded as a base64 string

- Added media library search command

- Fixed some bugs related to the 'now playing' track

 

v1.0.2  2007 - foo_controlserver baseline version by Jason Poloski, the original developer of the component

 

< back to Table of Contents