Skip to content

Repository files navigation

VIMLworks RESONANCE Conductor

Local FastAPI middleware + PWA for controlling AIMP, VLC and foobar2000 through their HTTP APIs.

Requirements

AIMP

Requires the AIMP HTTP Remote Control plugin: AIMP-HTTP-Remote-Control-Server

Default port: 19122

VLC

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.

foobar2000

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.

Getting Started

Windows:

start.bat

or use standalone .exe (from Releases)

Linux:

./start.sh

Building the Windows executable

On Windows, run:

build-exe.bat

The 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.

First-time Setup

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)

Supported features by player

Feature AIMP VLC foobar2000
Play / Pause / Stop ✓ ✓ ✓
Next / Prev ✓ ✓ ✓
Volume control ✓ ✓ ✓
Mute ✓ — ✓
Playlist list ✓ — ✓
Track list ✓ ✓ ✓
Focus navigation ✓ — —

Screenshots:

c1s1 c1s2

About

Local FastAPI middleware & PWA for controlling media players (AIMP, VLC, foobar2000) via HTTP (WebUI).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages