Local FastAPI middleware + PWA for controlling AIMP, VLC and foobar2000 through their HTTP APIs.
Requires the AIMP HTTP Remote Control plugin: AIMP-HTTP-Remote-Control-Server
Default port: 19122
Enable the VLC HTTP interface and set a password. Default port: 8080.
VLC blocks external connections by default. Edit the .hosts file to allow your network:
- Windows:
C:\Program Files\VideoLAN\VLC\lua\http\.hosts - Linux:
/usr/share/vlc/lua/http/.hosts - macOS:
/Applications/VLC.app/Contents/MacOS/share/lua/http/.hosts
Remove the # from the appropriate line (e.g. 192.168.0.0/16), save and restart VLC.
Requires the beefweb plugin for foobar2000: beefweb on GitHub
Install the plugin in foobar2000, then enable it in Preferences → Tools → beefweb. Default port: 8880.
By default beefweb listens only on localhost. To allow access from other devices, set the allowed origins or bind address in the beefweb preferences.
Windows:
start.bator use standalone .exe (from Releases)
Linux:
./start.shOn Windows, run:
build-exe.batThe script creates an isolated .build-venv, installs the build dependencies, and writes the result to dist\Conductor.exe.
The executable's version metadata (CompanyName, ProductName, copyright, internal name, icon, etc.) is reused from the previous Conductor.exe build and kept in version_info.txt. To release a new version bump it in both version_info.txt and main.py (FastAPI(version=...)). Current version: 1.3.0.
Default panel address: http://localhost:5000. From a tablet, computer, or phone, go to the IP address of the computer running the middleware, e.g. http://192.168.1.20:5000.
If config.json does not exist, the app displays a setup wizard. Select the connection type and fill in the appropriate fields.
After saving, the wizard creates config.json. Example with foobar2000:
{
"connection_type": "foobar2000 (beefweb)",
"aimp_ip": "127.0.0.1",
"aimp_port": 19122,
"vlc_ip": "127.0.0.1",
"vlc_port": 8080,
"vlc_password": "",
"foobar_ip": "127.0.0.1",
"foobar_port": 8880,
"custom_management_name": "Your name",
"custom_logo_url": "/static/logo.png",
"theme_color": "#1fbf75",
"default_playlist_id": "0"
}Supported connection_type values:
AIMP (Direct HTTP API)VLC (HTTP API)foobar2000 (beefweb)
| Feature | AIMP | VLC | foobar2000 |
|---|---|---|---|
| Play / Pause / Stop | ✓ | ✓ | ✓ |
| Next / Prev | ✓ | ✓ | ✓ |
| Volume control | ✓ | ✓ | ✓ |
| Mute | ✓ | — | ✓ |
| Playlist list | ✓ | — | ✓ |
| Track list | ✓ | ✓ | ✓ |
| Focus navigation | ✓ | — | — |