thomas-louvigne / goxlr-utility

A CLI for configuring a GoXLR on Linux

Home Page:https://goxlr-on-linux.github.io/goxlr-utility/doc/goxlr_client/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GoXLR configuration utility

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.

Warning

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.

Setting Permissions

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.

Building from source

Prerequisites

  • Install Rust
  • Install libusb
    • Debian/Ubuntu: apt install libusb-dev
    • Arch/Manjaro: pacman -S libusb
  • Have a GoXLR :)

Building

You can build with cargo build, or install the specific executables with:

  • cargo install --path daemon for the daemon
  • cargo install --path client for the client to interact with the daemon

Tab-complete files for your terminal of choice will be available after building.

Running the daemon

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!).

Interacting with the GoXLR

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)

About

A CLI for configuring a GoXLR on Linux

https://goxlr-on-linux.github.io/goxlr-utility/doc/goxlr_client/index.html

License:MIT License


Languages

Language:Rust 97.1%Language:Lua 2.0%Language:Shell 0.8%Language:HTML 0.1%