Files
TuxDMX-WebUI/tools/tuxdmx-midi-bridge/README.md
T
thomas 1f110866f5
CI / backend (pull_request) Canceled after 0s
CI / shell (pull_request) Canceled after 0s
CI / frontend (pull_request) Canceled after 0s
CI / arm64-smoke (pull_request) Canceled after 0s
CI / backend (push) Canceled after 0s
CI / shell (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / arm64-smoke (push) Canceled after 0s
Update docs and screenshots
2026-07-25 10:26:29 +02:00

1.6 KiB

TuxDMX MIDI Bridge

Standalone Python-bro, som lytter på en lokal USB-MIDI-controller og sender normaliserede MIDI-events videre til TuxDMX over HTTP.

Krav

  • Python 3.11+
  • En MIDI-inputenhed, som kan læses af mido / python-rtmidi
  • En TuxDMX-instans med en gyldig MIDI-token

Hurtig start

Windows

install-windows.bat
copy config.example.yaml config.yaml
run-windows.bat config.yaml

Autostart kan laves via Windows Task Scheduler med:

.venv\Scripts\python.exe -m tuxdmx_midi_bridge --config C:\path\to\config.yaml

Linux

./install-linux.sh
cp config.example.yaml config.yaml
./run-linux.sh config.yaml

Eksempel på systemd-service ligger i tuxdmx-midi-bridge.service.example.

CLI

python -m tuxdmx_midi_bridge --config config.yaml
python -m tuxdmx_midi_bridge --list-devices
python -m tuxdmx_midi_bridge --test-connection --config config.yaml
python -m tuxdmx_midi_bridge --debug --config config.yaml

Konfiguration

  • server.url: HTTP-base til TuxDMX bridge-endpoints, fx http://host:8000/api/v1/integrations/midi/bridge
  • server.api_token: kan overstyres af TUXDMX_API_TOKEN
  • midi.device_name: delnavn der matches mod tilgængelige MIDI-inputs
  • midi.channel_filter: sæt til 0-15 eller null
  • performance.control_change_interval_ms: rate limit på fadere og knapper
  • performance.suppress_duplicate_values: ignorer gentagne identiske værdier

Sikkerhed

  • Token logges aldrig i klartekst.
  • TLS-verifikation er standard og slås kun fra eksplicit i konfigurationen.
  • Bridge sender kun MIDI-events og heartbeats. Den genererer ikke DMX direkte.