# xair-cli ### Installation ```console go install github.com/onyx-and-iris/xair-cli@latest ``` ### Configuration #### Flags - --host/-H: Host of the mixer. - --port/-P: Port of the mixer. - --kind/-k: The kind of mixer. May be one of (*xair*, *x32*). - Use this flag to connect to an x32 mixer. - --loglevel/-L: The application's logging verbosity. #### Environment Variables Example .envrc: ```bash #!/usr/bin/env bash XAIR_CLI_HOST=mixer.local XAIR_CLI_PORT=10024 XAIR_CLI_KIND=xair XAIR_CLI_TIMEOUT=100ms XAIR_CLI_LOGLEVEL=warn ``` ### Use ```console Usage: xair-cli [flags] A CLI to control Behringer X-Air mixers. Flags: -h, --help Show context-sensitive help. -H, --host="mixer.local" The host of the X-Air device ($XAIR_CLI_HOST). -P, --port=10024 The port of the X-Air device ($XAIR_CLI_PORT). -K, --kind="xair" The kind of the X-Air device ($XAIR_CLI_KIND). -T, --timeout=100ms Timeout for OSC operations ($XAIR_CLI_TIMEOUT). -L, --loglevel="warn" Log level for the CLI ($XAIR_CLI_LOGLEVEL). -v, --version Print xair-cli version information and quit Commands: completion (c) Generate shell completion scripts. Raw raw Send raw OSC messages to the mixer. Main main mute Get or set the mute state of the Main L/R output. main fader Get or set the fader level of the Main L/R output. main fadein Fade in the Main L/R output over a specified duration. main fadeout Fade out the Main L/R output over a specified duration. Strip strip mute Get or set the mute state of the strip. strip fader Get or set the fader level of the strip. strip fadein Fade in the strip over a specified duration. strip fadeout Fade out the strip over a specified duration. strip send Get or set the send level for a specific bus. strip name Get or set the name of the strip. strip gate on Get or set the gate on/off state of the strip. strip gate mode Get or set the gate mode of the strip. strip gate threshold Get or set the gate threshold of the strip. strip gate range Get or set the gate range of the strip. strip gate attack Get or set the gate attack time of the strip. strip gate hold Get or set the gate hold time of the strip. strip gate release Get or set the gate release time of the strip. strip eq on Get or set the EQ on/off state of the strip. strip eq gain Get or set the gain of the EQ band. strip eq freq Get or set the frequency of the EQ band. strip eq q Get or set the Q factor of the EQ band. strip eq type Get or set the type of the EQ band. strip comp on Get or set the compressor on/off state of the strip. strip comp mode Get or set the compressor mode of the strip. strip comp threshold Get or set the compressor threshold of the strip. strip comp ratio Get or set the compressor ratio of the strip. strip comp mix Get or set the compressor mix of the strip. strip comp makeup Get or set the compressor makeup gain of the strip. strip comp attack Get or set the compressor attack time of the strip. strip comp hold Get or set the compressor hold time of the strip. strip comp release Get or set the compressor release time of the strip. Bus bus mute Get or set the mute state of the bus. bus fader Get or set the fader level of the bus. bus fadein Fade in the bus over a specified duration. bus fadeout Fade out the bus over a specified duration. bus name Get or set the name of the bus. bus eq on Get or set the EQ on/off state of the bus. bus eq mode Get or set the EQ mode of the bus (peq, geq or teq). bus eq gain Get or set the gain of the EQ band. bus eq freq Get or set the frequency of the EQ band. bus eq q Get or set the Q factor of the EQ band. bus eq type Get or set the type of the EQ band (lcut, lshv, peq, veq, hshv, hcut). bus comp on Get or set the compressor on/off state of the bus. bus comp mode Get or set the compressor mode of the bus (comp, exp). bus comp threshold Get or set the compressor threshold of the bus (in dB). bus comp ratio Get or set the compressor ratio of the bus. bus comp mix Get or set the compressor mix level of the bus (in %). bus comp makeup Get or set the compressor makeup gain of the bus (in dB). bus comp attack Get or set the compressor attack time of the bus (in ms). bus comp hold Get or set the compressor hold time of the bus (in ms). bus comp release Get or set the compressor release time of the bus (in ms). Headamp headamp gain Get or set the gain of the headamp. headamp phantom Get or set the phantom power state of the headamp. Snapshot snapshot list List all snapshots. snapshot name Get or set the name of a snapshot. snapshot save Save the current mixer state. snapshot load Load a mixer state. snapshot delete Delete a snapshot. Run "xair-cli --help" for more information on a command. ``` ### Examples *Fade out main LR all the way to -∞ over a 5s duration* ```console xair-cli main fadeout ``` *enable phantom power and set the gain to 28.0dB over a 10s duration for headamp (strip) 09* ```console xair-cli headamp 9 phantom on xair-cli headamp 9 gain --duration 10s 18.0 ``` *set strip 09 send level for bus 5 to -18.0dB* ```console xair-cli strip 9 send 5 -- -18.0 ``` *enable eq for strip 01* ```console xair-cli strip 1 eq on true ``` *rename bus 01 to 'vocal mix'* ```console xair-cli bus 1 name 'vocal mix' ``` *set bus 03 eq band 03 (LoMid) gain* ```console xair-cli bus 3 eq 3 gain -- -3.5 ``` *Send a raw OSC message to the mixer* ```console xair-cli raw /xinfo xair-cli raw /ch/01/config/name 'rode podmic' xair-cli raw /ch/01/config/name ``` ### License `xair-cli` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. ### Notes For an alternative, python implementation consider checking out [dc-xair-cli](https://pypi.org/project/dc-xair-cli/). It supports some operations like batch commands and network discovery which this CLI doesn't (and I have no plans to implement them).