A tool to configure a GoXLR without requiring a Windows VM.
At this time, full device initialization is not possible on Linux. This utility still requires that you initialize on Windows, but allows you to configure it after the fact from within Linux.
This utility is currently not 'user ready', it's extremely rough around the edges and has very little interactivity. You're welcome to experiment with this if you're comfortable working with Rust, but please do not request support at this time.
This project is also not supported by, or affiliated in any way with, TC-Helicon. For the official GoXLR software, please refer to their website.
Copy 50-goxlr.rules
to /etc/udev/rules.d/
and then reload with sudo udevadm control --reload-rules
.
You may need to unplug and replug the GoXLR afterwards, to allow the new permissions to take effect.
- Install Rust
- Install libusb
- Debian/Ubuntu:
apt install libusb-dev
- Arch/Manjaro:
pacman -S libusb
- Debian/Ubuntu:
- Have a GoXLR :)
You can build with cargo build
, or install the specific executables with:
cargo install --path daemon
for the daemoncargo install --path client
for the client to interact with the daemon
Tab-complete files for your terminal of choice will be available after building.
You can start the daemon by executing goxlr-daemon
.
Running the daemon as a service will be left as an exercise to the reader (we'll provide a systemd config later probably!).
If the daemon can't connect to your GoXLR device, check your device permissions (see above!).
Once the daemon is running, you can run goxlr-client
to configure the GoXLR at will from your terminal.
For an up-to-date list of command line arguments, try goxlr-client --help
!
goxlr-client 0.1.0 Nathan Adams <dinnerbone@dinnerbone.com>, Craig McLure <craig@mclure.net>, Lars Mühlbauer <lm41@dismail.de> Allows control of a TC-Helicon GoXLR or GoXLR Mini, by interacting with a running daemon. USAGE: goxlr-client [OPTIONS] [SUBCOMMAND] OPTIONS: --device <DEVICE> The specific device's serial number to execute commands on. This field is optional if you have exactly one GoXLR, but required if you have more --status Display the device information after any subcommands have been executed --status-json Display device information as JSON after command.. -h, --help Print help information -V, --version Print version information Microphone controls: --dynamic-gain <DYNAMIC_GAIN> Set the gain of the plugged in dynamic (XLR) microphone. Value is in decibels and recommended to be lower than 72dB --condenser-gain <CONDENSER_GAIN> Set the gain of the plugged in condenser (XLR with phantom power) microphone. Value is in decibels and recommended to be lower than 72dB --jack-gain <JACK_GAIN> Set the gain of the plugged in jack (3.5mm) microphone. Value is in decibels and recommended to be lower than 72dB SUBCOMMANDS: profiles Profile Settings microphone Adjust the microphone settings (Eq, Gate and Compressor) volume Adjust Channel Volumes bleep-volume Configure the Bleep Button faders Commands to manipulate the individual GoXLR Faders cough-button Commands for configuring the cough button router Commands to manipulate the GoXLR Router lighting Commands to control the GoXLR lighting help Print this message or the help of the given subcommand(s)