A mobile-friendly web remote (PWA) for the linux-fireface-mixer desktop mixer. It serves a lightweight web UI and bridges it to the desktop app's OSC endpoint, so you can control the mixer from a phone on the same LAN.
A browser cannot speak raw UDP/OSC, so a small bridge sits in between:
[ Phone browser PWA ] --HTTP (load) / WebSocket (control)--> [ Bridge ] --OSC/UDP--> [ Desktop mixer ]
(on the LAN) (on the desktop host) (localhost 7001/9001)
The bridge is a single static binary that embeds the web UI, serves it over HTTP, and relays JSON control messages to and from the desktop's OSC endpoint. It is schema-agnostic: it just translates between JSON and OSC, so extending the control namespace only touches the front end.
- The desktop app running with Control tab -> [ OSC Remote ] enabled (defaults: receive on UDP 7001, send feedback on 9001).
- Rust toolchain (to build from source).
cargo build --releaseThe result is a single self-contained binary at
target/release/linux-totalmix-web-remote (the web assets are embedded).
# Reachable from a phone on the LAN:
./target/release/linux-totalmix-web-remote --allow-externalThen open http://<desktop-lan-ip>:8451 on the phone and add it to the home
screen to install it as a standalone app.
Localhost-only (default) is useful for testing on the desktop itself:
./target/release/linux-totalmix-web-remote # http://127.0.0.1:8451| Flag | Default | Meaning |
|---|---|---|
-l, --listen HOST:PORT |
127.0.0.1:8451 |
Web UI bind address |
--allow-external |
off | Bind 0.0.0.0 so a phone can reach it |
--osc-host HOST |
127.0.0.1 |
Host running the desktop OSC endpoint |
--osc-send-port PORT |
7001 |
Desktop OSC receive port (commands) |
--osc-recv-port PORT |
9001 |
Local port for desktop OSC feedback |
./target/release/linux-totalmix-web-remote systemd install --enable --nowThe web UI and the OSC endpoint are unauthenticated. Use this only on a trusted LAN, and keep the host off untrusted networks.
GNU General Public License v3.0. See LICENSE.