GUI mixer application for RME Fireface audio interfaces on Linux.
- RME Fireface 400
- Mixer view - canonical TotalMix-style 3-row layout (hardware inputs, software playback, hardware outputs). Selecting an output edits its submix.
- Matrix view - full crosspoint grid, kept in sync with the mixer view.
- Level meters - hardware metering with a -90 dBFS range, RMS bar plus peak-hold line, and overload indication.
- Per-channel Mute / Solo / stereo Link on outputs, and per-submix Mute on input/playback sources.
- OSC remote control - bidirectional Open Sound Control endpoint to drive and observe the mixer over the network (see Usage).
- ALSA (
libasound) - X11 and extensions (
libx11,libxrandr,libxinerama,libxcursor,libxi) - OpenGL
- libsystemd
- liblo (OSC)
Required: snd-firewire-ctl-services
This project requires snd-fireface-ctl-service to manage ALSA controls for the Fireface hardware. The service must be running before launching the GUI.
yay -S linux-fireface-mixer-binyay -S linux-fireface-mixersudo pacman -S alsa-lib libx11 libxrandr libxinerama libxcursor libxi systemd liblosudo apt install libasound2-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libsystemd-dev liblo-devFollow the installation instructions at: https://github.com/alsa-project/snd-firewire-ctl-services
After installation, enable and start the service:
systemctl --user enable snd-fireface-ctl.service
systemctl --user start snd-fireface-ctl.serviceVerify the service is running:
systemctl --user status snd-fireface-ctl.servicemkdir build
cd build
cmake ..
make./build/totalmixer_guiThe GUI will display an error if snd-fireface-ctl.service is not running.
Enable the OSC server under Control tab -> [ OSC Remote ] (default: receive on UDP 7001, send feedback on 9001). Values are normalized floats in 0.0 .. 1.0; toggles use 0/1.
Address namespace (receive and send are symmetric):
| Address | Meaning |
|---|---|
/out/fader/N /out/mute/N /out/solo/N /out/link/N |
Output N fader / mute / solo / stereo link |
/in/fader/N /in/mute/N |
Input N source gain / mute in the current submix |
/pb/fader/N /pb/mute/N |
Playback N source gain / mute in the current submix |
/submix/select/N (recv) |
Switch the submix being edited |
/submix/current (send) |
Currently active submix number |
/query (recv) |
Request a full state dump |
The desktop sends feedback to the first host that contacts it, so a controller should send any message (e.g. /query) once to register. Quick test with the liblo CLI tools:
oscsend 127.0.0.1 7001 /out/fader/1 f 0.5 # set output 1 fader to mid
oscdump 9001 # observe feedback from the desktopNote: the endpoint binds all interfaces and is unauthenticated UDP. Use it only on a trusted LAN.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.