mirror of
https://github.com/onyx-and-iris/xair-cli.git
synced 2026-04-18 14:53:34 +00:00
Compare commits
15 Commits
3f6e8c4209
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32e2646a3d | ||
|
|
3960b1969f | ||
|
|
49138e397c | ||
| 68b8ab2018 | |||
| 6ec3c55383 | |||
| 847dffd842 | |||
| 283511b94d | |||
|
|
a1c27a3f1b | ||
| 828d7cc248 | |||
| 5fa2aabecb | |||
| ac8a677f99 | |||
| e0c15f3ba5 | |||
| 1f4b261fc4 | |||
| 739ce44288 | |||
| 1b9cc1f66a |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -38,4 +38,8 @@ go.work.sum
|
||||
|
||||
# End of ignr
|
||||
|
||||
update_readme.py
|
||||
# Man pages
|
||||
xair-cli.1
|
||||
x32-cli.1
|
||||
|
||||
update_readme.py
|
||||
|
||||
@@ -3,6 +3,11 @@ repos:
|
||||
hooks:
|
||||
- id: update-readme
|
||||
name: update-readme
|
||||
entry: python update_readme.py
|
||||
language: python
|
||||
entry: task generate
|
||||
language: system
|
||||
pass_filenames: false
|
||||
|
||||
- repo: https://github.com/tekwizely/pre-commit-golang
|
||||
rev: v1.0.0-rc.4
|
||||
hooks:
|
||||
- id: go-mod-tidy
|
||||
|
||||
42
README.md
42
README.md
@@ -1,5 +1,15 @@
|
||||
# xair-cli
|
||||
|
||||
---
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Configuration](#configuration)
|
||||
- [Use](#use)
|
||||
- [Shell Completion](#shell-completion)
|
||||
- [License](#license)
|
||||
|
||||
### Installation
|
||||
|
||||
*xair-cli*
|
||||
@@ -60,8 +70,8 @@ export X32_CLI_LOGLEVEL=warn
|
||||
|
||||
For each command/subcommand in the tree there exists a `--help` flag, use it to print usage information.
|
||||
|
||||
- [xair-cli](./xair-help.md)
|
||||
- [x32-cli](./x32-help.md)
|
||||
- [xair-cli](./tools/xair-help.md)
|
||||
- [x32-cli](./tools/x32-help.md)
|
||||
|
||||
### Examples
|
||||
|
||||
@@ -113,6 +123,34 @@ xair-cli snapshot 20 save 'twitch live'
|
||||
|
||||
---
|
||||
|
||||
## Shell Completion
|
||||
|
||||
- completion:
|
||||
|
||||
*optional*
|
||||
- args: Shell
|
||||
- If no shell is passed completion will attempt to detect the current login shell.
|
||||
|
||||
*xair-cli*
|
||||
|
||||
```console
|
||||
xair-cli completion
|
||||
|
||||
xair-cli completion bash
|
||||
```
|
||||
|
||||
*x32-cli*
|
||||
|
||||
```console
|
||||
x32-cli completion
|
||||
|
||||
x32-cli completion bash
|
||||
```
|
||||
|
||||
Currently supported shells: *bash* *zsh* *fish*.
|
||||
|
||||
---
|
||||
|
||||
### License
|
||||
|
||||
`xair-cli` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
WINDOWS: '{{.BIN_DIR}}/{{.PROGRAM}}_windows_amd64.exe'
|
||||
LINUX: '{{.BIN_DIR}}/{{.PROGRAM}}_linux_amd64'
|
||||
MACOS: '{{.BIN_DIR}}/{{.PROGRAM}}_darwin_amd64'
|
||||
|
||||
tasks:
|
||||
windows-amd64:
|
||||
desc: Build the xair-cli project for Windows
|
||||
cmds:
|
||||
- GOOS=windows GOARCH=amd64 go build -o {{.WINDOWS}} -ldflags="-X main.version={{.VERSION}}" ./cmd/{{.PROGRAM}}
|
||||
|
||||
linux-amd64:
|
||||
desc: Build the xair-cli project for Linux
|
||||
cmds:
|
||||
- GOOS=linux GOARCH=amd64 go build -o {{.LINUX}} -ldflags="-X main.version={{.VERSION}}" ./cmd/{{.PROGRAM}}
|
||||
|
||||
darwin-amd64:
|
||||
desc: Build the xair-cli project for macOS
|
||||
cmds:
|
||||
- GOOS=darwin GOARCH=amd64 go build -o {{.MACOS}} -ldflags="-X main.version={{.VERSION}}" ./cmd/{{.PROGRAM}}
|
||||
@@ -7,16 +7,16 @@ vars:
|
||||
|
||||
tasks:
|
||||
windows-amd64:
|
||||
desc: Build the x32-cli project for Windows
|
||||
desc: Build the project for Windows
|
||||
cmds:
|
||||
- GOOS=windows GOARCH=amd64 go build -o {{.WINDOWS}} -ldflags="-X main.version={{.VERSION}}" ./cmd/{{.PROGRAM}}
|
||||
|
||||
linux-amd64:
|
||||
desc: Build the x32-cli project for Linux
|
||||
desc: Build the project for Linux
|
||||
cmds:
|
||||
- GOOS=linux GOARCH=amd64 go build -o {{.LINUX}} -ldflags="-X main.version={{.VERSION}}" ./cmd/{{.PROGRAM}}
|
||||
|
||||
darwin-amd64:
|
||||
desc: Build the x32-cli project for macOS
|
||||
desc: Build the project for macOS
|
||||
cmds:
|
||||
- GOOS=darwin GOARCH=amd64 go build -o {{.MACOS}} -ldflags="-X main.version={{.VERSION}}" ./cmd/{{.PROGRAM}}
|
||||
17
Taskfile.man.yml
Normal file
17
Taskfile.man.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
default:
|
||||
desc: View man page
|
||||
cmds:
|
||||
- task: view
|
||||
|
||||
view:
|
||||
desc: View man page
|
||||
cmds:
|
||||
- go run ./cmd/{{.PROGRAM}} --man | man -l -
|
||||
|
||||
generate:
|
||||
desc: Generate man page
|
||||
cmds:
|
||||
- go run ./cmd/{{.PROGRAM}} --man > {{.PROGRAM}}.1
|
||||
17
Taskfile.yml
17
Taskfile.yml
@@ -2,15 +2,23 @@ version: '3'
|
||||
|
||||
includes:
|
||||
build-xair:
|
||||
taskfile: ./Taskfile.build-xair.yml
|
||||
taskfile: ./Taskfile.build.yml
|
||||
internal: true
|
||||
vars:
|
||||
PROGRAM: xair-cli
|
||||
build-x32:
|
||||
taskfile: ./Taskfile.build-x32.yml
|
||||
taskfile: ./Taskfile.build.yml
|
||||
internal: true
|
||||
vars:
|
||||
PROGRAM: x32-cli
|
||||
man-xair:
|
||||
taskfile: ./Taskfile.man.yml
|
||||
vars:
|
||||
PROGRAM: xair-cli
|
||||
man-x32:
|
||||
taskfile: ./Taskfile.man.yml
|
||||
vars:
|
||||
PROGRAM: x32-cli
|
||||
|
||||
vars:
|
||||
SHELL: '{{if eq .OS "Windows_NT"}}powershell{{end}}'
|
||||
@@ -54,3 +62,8 @@ tasks:
|
||||
desc: Clean the build artifacts
|
||||
cmds:
|
||||
- '{{.SHELL}} rm -r {{.BIN_DIR}}'
|
||||
|
||||
generate:
|
||||
desc: Run code generation
|
||||
cmds:
|
||||
- COLUMNS=120 go generate ./...
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/alecthomas/kong"
|
||||
mangokong "github.com/alecthomas/mango-kong"
|
||||
"github.com/charmbracelet/log"
|
||||
kongcompletion "github.com/jotaen/kong-completion"
|
||||
|
||||
@@ -39,10 +40,10 @@ type context struct {
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
Host string `default:"mixer.local" help:"The host of the X32 device." env:"X32_CLI_HOST" short:"H"`
|
||||
Port int `default:"10023" help:"The port of the X32 device." env:"X32_CLI_PORT" short:"P"`
|
||||
Timeout time.Duration `default:"100ms" help:"Timeout for OSC operations." env:"X32_CLI_TIMEOUT" short:"T"`
|
||||
Loglevel string `default:"warn" help:"Log level for the CLI." env:"X32_CLI_LOGLEVEL" short:"L" enum:"debug,info,warn,error,fatal"`
|
||||
Host string `flag:"" default:"mixer.local" help:"The host of the X32 device." env:"X32_CLI_HOST" short:"H"`
|
||||
Port int `flag:"" default:"10023" help:"The port of the X32 device." env:"X32_CLI_PORT" short:"P"`
|
||||
Timeout time.Duration `flag:"" default:"100ms" help:"Timeout for OSC operations." env:"X32_CLI_TIMEOUT" short:"T"`
|
||||
Loglevel string `flag:"" default:"warn" help:"Log level for the CLI." env:"X32_CLI_LOGLEVEL" short:"L" enum:"debug,info,warn,error,fatal"`
|
||||
}
|
||||
|
||||
// CLI is the main struct for the command-line interface.
|
||||
@@ -50,20 +51,21 @@ type Config struct {
|
||||
type CLI struct {
|
||||
Config `embed:"" prefix:"" help:"The configuration for the CLI."`
|
||||
|
||||
Version VersionFlag `help:"Print x32-cli version information and quit" name:"version" short:"v"`
|
||||
Man mangokong.ManFlag `help:"Print man page."`
|
||||
Version VersionFlag `help:"Print x32-cli version information and quit" name:"version" short:"v"`
|
||||
|
||||
Completion kongcompletion.Completion `help:"Generate shell completion scripts." cmd:""`
|
||||
Info InfoCmd `help:"Print mixer information." cmd:""`
|
||||
Raw RawCmd `help:"Send raw OSC messages to the mixer." cmd:""`
|
||||
Completion kongcompletion.Completion `cmd:"" help:"Generate shell completion scripts."`
|
||||
Info InfoCmd `cmd:"" help:"Print mixer information."`
|
||||
Raw RawCmd `cmd:"" help:"Send raw OSC messages to the mixer."`
|
||||
|
||||
Main MainCmdGroup `help:"Control the Main L/R output" cmd:"" group:"Main"`
|
||||
Mainmono MainMonoCmdGroup `help:"Control the Main Mono output" cmd:"" group:"MainMono"`
|
||||
Matrix MatrixCmdGroup `help:"Control the matrix outputs." cmd:"" group:"Matrix"`
|
||||
Strip StripCmdGroup `help:"Control the strips." cmd:"" group:"Strip"`
|
||||
Bus BusCmdGroup `help:"Control the buses." cmd:"" group:"Bus"`
|
||||
Headamp HeadampCmdGroup `help:"Control input gain and phantom power." cmd:"" group:"Headamp"`
|
||||
Snapshot SnapshotCmdGroup `help:"Save and load mixer states." cmd:"" group:"Snapshot"`
|
||||
Dca DCACmdGroup `help:"Control DCA groups." cmd:"" group:"DCA"`
|
||||
Main MainCmdGroup `cmd:"" help:"Control the Main L/R output" group:"Main"`
|
||||
Mainmono MainMonoCmdGroup `cmd:"" help:"Control the Main Mono output" group:"MainMono"`
|
||||
Matrix MatrixCmdGroup `cmd:"" help:"Control the matrix outputs." group:"Matrix"`
|
||||
Strip StripCmdGroup `cmd:"" help:"Control the strips." group:"Strip"`
|
||||
Bus BusCmdGroup `cmd:"" help:"Control the buses." group:"Bus"`
|
||||
Headamp HeadampCmdGroup `cmd:"" help:"Control input gain and phantom power." group:"Headamp"`
|
||||
Snapshot SnapshotCmdGroup `cmd:"" help:"Save and load mixer states." group:"Snapshot"`
|
||||
Dca DCACmdGroup `cmd:"" help:"Control DCA groups." group:"DCA"`
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
type DCACmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the DCA group (1-8)."`
|
||||
Mute DCAMuteCmd `help:"Get or set the mute status of the DCA group." cmd:""`
|
||||
Name DCANameCmd `help:"Get or set the name of the DCA group." cmd:""`
|
||||
Mute DCAMuteCmd `cmd:"" help:"Get or set the mute status of the DCA group."`
|
||||
Name DCANameCmd `cmd:"" help:"Get or set the name of the DCA group."`
|
||||
} `arg:"" help:"Control a specific DCA group by its index."`
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
type HeadampCmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the headamp."`
|
||||
Gain HeadampGainCmd `help:"Get or set the gain of the headamp." cmd:""`
|
||||
Phantom HeadampPhantomCmd `help:"Get or set the phantom power state of the headamp." cmd:""`
|
||||
Gain HeadampGainCmd `cmd:"" help:"Get or set the gain of the headamp."`
|
||||
Phantom HeadampPhantomCmd `cmd:"" help:"Get or set the phantom power state of the headamp."`
|
||||
} `arg:"" help:"Control a specific headamp by index."`
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ func gradualGainAdjust(
|
||||
|
||||
// HeadampPhantomCmd defines the command for getting or setting the phantom power state of a headamp, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
type HeadampPhantomCmd struct {
|
||||
State *string `help:"The phantom power state of the headamp." arg:"" enum:"true,on,false,off" optional:""`
|
||||
State *string `arg:"" help:"The phantom power state of the headamp." enum:"true,on,false,off" optional:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided phantom power state is valid and normalises it to "true" or "false".
|
||||
|
||||
@@ -8,14 +8,14 @@ import (
|
||||
|
||||
// MainCmdGroup defines the command group for controlling the Main L/R output, including commands for mute state, fader level, and fade-in/fade-out times.
|
||||
type MainCmdGroup struct {
|
||||
Mute MainMuteCmd `help:"Get or set the mute state of the Main L/R output." cmd:""`
|
||||
Mute MainMuteCmd `cmd:"" help:"Get or set the mute state of the Main L/R output."`
|
||||
|
||||
Fader MainFaderCmd `help:"Get or set the fader level of the Main L/R output." cmd:""`
|
||||
Fadein MainFadeinCmd `help:"Fade in the Main L/R output over a specified duration." cmd:""`
|
||||
Fadeout MainFadeoutCmd `help:"Fade out the Main L/R output over a specified duration." cmd:""`
|
||||
Fader MainFaderCmd `cmd:"" help:"Get or set the fader level of the Main L/R output."`
|
||||
Fadein MainFadeinCmd `cmd:"" help:"Fade in the Main L/R output over a specified duration."`
|
||||
Fadeout MainFadeoutCmd `cmd:"" help:"Fade out the Main L/R output over a specified duration."`
|
||||
|
||||
Eq MainEqCmdGroup `help:"Commands for controlling the equaliser settings of the Main L/R output." cmd:"eq"`
|
||||
Comp MainCompCmdGroup `help:"Commands for controlling the compressor settings of the Main L/R output." cmd:"comp"`
|
||||
Eq MainEqCmdGroup `cmd:"" help:"Commands for controlling the equaliser settings of the Main L/R output."`
|
||||
Comp MainCompCmdGroup `cmd:"" help:"Commands for controlling the compressor settings of the Main L/R output."`
|
||||
}
|
||||
|
||||
// MainMuteCmd defines the command for getting or setting the mute state of the Main L/R output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
@@ -134,14 +134,14 @@ func (cmd *MainFadeoutCmd) Run(ctx *context) error {
|
||||
|
||||
// MainEqCmdGroup defines the command group for controlling the equaliser settings of the Main L/R output, including commands for getting or setting the EQ parameters.
|
||||
type MainEqCmdGroup struct {
|
||||
On MainEqOnCmd `help:"Get or set the EQ on/off state of the Main L/R output." cmd:"on"`
|
||||
On MainEqOnCmd `cmd:"" help:"Get or set the EQ on/off state of the Main L/R output."`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain MainEqBandGainCmd `help:"Get or set the gain of the specified EQ band." cmd:"gain"`
|
||||
Freq MainEqBandFreqCmd `help:"Get or set the frequency of the specified EQ band." cmd:"freq"`
|
||||
Q MainEqBandQCmd `help:"Get or set the Q factor of the specified EQ band." cmd:"q"`
|
||||
Type MainEqBandTypeCmd `help:"Get or set the type of the specified EQ band." cmd:"type"`
|
||||
} `help:"Commands for controlling individual EQ bands of the Main L/R output." arg:""`
|
||||
Gain MainEqBandGainCmd `cmd:"" help:"Get or set the gain of the specified EQ band." `
|
||||
Freq MainEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the specified EQ band."`
|
||||
Q MainEqBandQCmd `cmd:"" help:"Get or set the Q factor of the specified EQ band."`
|
||||
Type MainEqBandTypeCmd `cmd:"" help:"Get or set the type of the specified EQ band."`
|
||||
} ` help:"Commands for controlling individual EQ bands of the Main L/R output." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Main L/R output.
|
||||
@@ -291,15 +291,15 @@ func (cmd *MainEqBandTypeCmd) Run(ctx *context, mainEq *MainEqCmdGroup) error {
|
||||
|
||||
// MainCompCmdGroup defines the command group for controlling the compressor settings of the Main L/R output, including commands for getting or setting the compressor parameters.
|
||||
type MainCompCmdGroup struct {
|
||||
On MainCompOnCmd `help:"Get or set the compressor on/off state of the Main L/R output." cmd:"on"`
|
||||
Mode MainCompModeCmd `help:"Get or set the compressor mode of the Main L/R output." cmd:"mode"`
|
||||
Threshold MainCompThresholdCmd `help:"Get or set the compressor threshold of the Main L/R output." cmd:"threshold"`
|
||||
Ratio MainCompRatioCmd `help:"Get or set the compressor ratio of the Main L/R output." cmd:"ratio"`
|
||||
Mix MainCompMixCmd `help:"Get or set the compressor mix level of the Main L/R output." cmd:"mix"`
|
||||
Makeup MainCompMakeupCmd `help:"Get or set the compressor makeup gain of the Main L/R output." cmd:"makeup"`
|
||||
Attack MainCompAttackCmd `help:"Get or set the compressor attack time of the Main L/R output." cmd:"attack"`
|
||||
Hold MainCompHoldCmd `help:"Get or set the compressor hold time of the Main L/R output." cmd:"hold"`
|
||||
Release MainCompReleaseCmd `help:"Get or set the compressor release time of the Main L/R output." cmd:"release"`
|
||||
On MainCompOnCmd `cmd:"" help:"Get or set the compressor on/off state of the Main L/R output."`
|
||||
Mode MainCompModeCmd `cmd:"" help:"Get or set the compressor mode of the Main L/R output."`
|
||||
Threshold MainCompThresholdCmd `cmd:"" help:"Get or set the compressor threshold of the Main L/R output."`
|
||||
Ratio MainCompRatioCmd `cmd:"" help:"Get or set the compressor ratio of the Main L/R output."`
|
||||
Mix MainCompMixCmd `cmd:"" help:"Get or set the compressor mix level of the Main L/R output."`
|
||||
Makeup MainCompMakeupCmd `cmd:"" help:"Get or set the compressor makeup gain of the Main L/R output."`
|
||||
Attack MainCompAttackCmd `cmd:"" help:"Get or set the compressor attack time of the Main L/R output."`
|
||||
Hold MainCompHoldCmd `cmd:"" help:"Get or set the compressor hold time of the Main L/R output."`
|
||||
Release MainCompReleaseCmd `cmd:"" help:"Get or set the compressor release time of the Main L/R output."`
|
||||
}
|
||||
|
||||
// MainCompOnCmd defines the command for getting or setting the compressor on/off state of the Main L/R output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
|
||||
@@ -7,14 +7,14 @@ import (
|
||||
|
||||
// MainMonoCmdGroup defines the command group for controlling the Main Mono output, including commands for mute state, fader level, and fade-in/fade-out times.
|
||||
type MainMonoCmdGroup struct {
|
||||
Mute MainMonoMuteCmd `help:"Get or set the mute state of the Main Mono output." cmd:""`
|
||||
Mute MainMonoMuteCmd `cmd:"" help:"Get or set the mute state of the Main Mono output."`
|
||||
|
||||
Fader MainMonoFaderCmd `help:"Get or set the fader level of the Main Mono output." cmd:""`
|
||||
Fadein MainMonoFadeinCmd `help:"Fade in the Main Mono output over a specified duration." cmd:""`
|
||||
Fadeout MainMonoFadeoutCmd `help:"Fade out the Main Mono output over a specified duration." cmd:""`
|
||||
Fader MainMonoFaderCmd `cmd:"" help:"Get or set the fader level of the Main Mono output."`
|
||||
Fadein MainMonoFadeinCmd `cmd:"" help:"Fade in the Main Mono output over a specified duration."`
|
||||
Fadeout MainMonoFadeoutCmd `cmd:"" help:"Fade out the Main Mono output over a specified duration."`
|
||||
|
||||
Eq MainMonoEqCmdGroup `help:"Commands for controlling the equaliser settings of the Main Mono output." cmd:"eq"`
|
||||
Comp MainMonoCompCmdGroup `help:"Commands for controlling the compressor settings of the Main Mono output." cmd:"comp"`
|
||||
Eq MainMonoEqCmdGroup `cmd:"" help:"Commands for controlling the equaliser settings of the Main Mono output."`
|
||||
Comp MainMonoCompCmdGroup `cmd:"" help:"Commands for controlling the compressor settings of the Main Mono output."`
|
||||
}
|
||||
|
||||
// MainMonoMuteCmd defines the command for getting or setting the mute state of the Main Mono output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
@@ -136,10 +136,10 @@ type MainMonoEqCmdGroup struct {
|
||||
On MainMonoEqOnCmd `help:"Get or set the EQ on/off state of the Main Mono output." cmd:"on"`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain MainMonoEqBandGainCmd `help:"Get or set the gain of the specified EQ band." cmd:"gain"`
|
||||
Freq MainMonoEqBandFreqCmd `help:"Get or set the frequency of the specified EQ band." cmd:"freq"`
|
||||
Q MainMonoEqBandQCmd `help:"Get or set the Q factor of the specified EQ band." cmd:"q"`
|
||||
Type MainMonoEqBandTypeCmd `help:"Get or set the type of the specified EQ band." cmd:"type"`
|
||||
Gain MainMonoEqBandGainCmd `cmd:"" help:"Get or set the gain of the specified EQ band."`
|
||||
Freq MainMonoEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the specified EQ band."`
|
||||
Q MainMonoEqBandQCmd `cmd:"" help:"Get or set the Q factor of the specified EQ band."`
|
||||
Type MainMonoEqBandTypeCmd `cmd:"" help:"Get or set the type of the specified EQ band."`
|
||||
} `help:"Commands for controlling individual EQ bands of the Main Mono output." arg:""`
|
||||
}
|
||||
|
||||
@@ -310,15 +310,15 @@ func (cmd *MainMonoEqBandTypeCmd) Run(
|
||||
|
||||
// MainMonoCompCmdGroup defines the command group for controlling the compressor settings of the Main Mono output, including commands for getting or setting the compressor parameters.
|
||||
type MainMonoCompCmdGroup struct {
|
||||
On MainMonoCompOnCmd `help:"Get or set the compressor on/off state of the Main Mono output." cmd:"on"`
|
||||
Mode MainMonoCompModeCmd `help:"Get or set the compressor mode of the Main Mono output." cmd:"mode"`
|
||||
Threshold MainMonoCompThresholdCmd `help:"Get or set the compressor threshold of the Main Mono output." cmd:"threshold"`
|
||||
Ratio MainMonoCompRatioCmd `help:"Get or set the compressor ratio of the Main Mono output." cmd:"ratio"`
|
||||
Mix MainMonoCompMixCmd `help:"Get or set the compressor mix level of the Main Mono output." cmd:"mix"`
|
||||
Makeup MainMonoCompMakeupCmd `help:"Get or set the compressor makeup gain of the Main Mono output." cmd:"makeup"`
|
||||
Attack MainMonoCompAttackCmd `help:"Get or set the compressor attack time of the Main Mono output." cmd:"attack"`
|
||||
Hold MainMonoCompHoldCmd `help:"Get or set the compressor hold time of the Main Mono output." cmd:"hold"`
|
||||
Release MainMonoCompReleaseCmd `help:"Get or set the compressor release time of the Main Mono output." cmd:"release"`
|
||||
On MainMonoCompOnCmd `cmd:"" help:"Get or set the compressor on/off state of the Main Mono output."`
|
||||
Mode MainMonoCompModeCmd `cmd:"" help:"Get or set the compressor mode of the Main Mono output."`
|
||||
Threshold MainMonoCompThresholdCmd `cmd:"" help:"Get or set the compressor threshold of the Main Mono output."`
|
||||
Ratio MainMonoCompRatioCmd `cmd:"" help:"Get or set the compressor ratio of the Main Mono output."`
|
||||
Mix MainMonoCompMixCmd `cmd:"" help:"Get or set the compressor mix level of the Main Mono output."`
|
||||
Makeup MainMonoCompMakeupCmd `cmd:"" help:"Get or set the compressor makeup gain of the Main Mono output."`
|
||||
Attack MainMonoCompAttackCmd `cmd:"" help:"Get or set the compressor attack time of the Main Mono output."`
|
||||
Hold MainMonoCompHoldCmd `cmd:"" help:"Get or set the compressor hold time of the Main Mono output."`
|
||||
Release MainMonoCompReleaseCmd `cmd:"" help:"Get or set the compressor release time of the Main Mono output."`
|
||||
}
|
||||
|
||||
// MainMonoCompOnCmd defines the command for getting or setting the compressor on/off state of the Main Mono output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
|
||||
@@ -9,15 +9,15 @@ import (
|
||||
type MatrixCmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the Matrix output (1-6)."`
|
||||
Mute MatrixMuteCmd `help:"Get or set the mute state of the Matrix output." cmd:""`
|
||||
Mute MatrixMuteCmd `cmd:"" help:"Get or set the mute state of the Matrix output."`
|
||||
|
||||
Fader MatrixFaderCmd `help:"Get or set the fader level of the Matrix output." cmd:""`
|
||||
Fadein MatrixFadeinCmd `help:"Fade in the Matrix output over a specified duration." cmd:""`
|
||||
Fadeout MatrixFadeoutCmd `help:"Fade out the Matrix output over a specified duration." cmd:""`
|
||||
Fader MatrixFaderCmd `cmd:"" help:"Get or set the fader level of the Matrix output."`
|
||||
Fadein MatrixFadeinCmd `cmd:"" help:"Fade in the Matrix output over a specified duration."`
|
||||
Fadeout MatrixFadeoutCmd `cmd:"" help:"Fade out the Matrix output over a specified duration."`
|
||||
|
||||
Eq MatrixEqCmdGroup `help:"Commands for controlling the equaliser settings of the Matrix output." cmd:"eq"`
|
||||
Comp MatrixCompCmdGroup `help:"Commands for controlling the compressor settings of the Matrix output." cmd:"comp"`
|
||||
} `help:"Commands for controlling individual Matrix outputs." arg:""`
|
||||
Eq MatrixEqCmdGroup `cmd:"" help:"Commands for controlling the equaliser settings of the Matrix output."`
|
||||
Comp MatrixCompCmdGroup `cmd:"" help:"Commands for controlling the compressor settings of the Matrix output."`
|
||||
} `arg:"" help:"Commands for controlling individual Matrix outputs."`
|
||||
}
|
||||
|
||||
func (cmd *MatrixCmdGroup) Validate() error {
|
||||
@@ -143,14 +143,14 @@ func (cmd *MatrixFadeoutCmd) Run(ctx *context, matrix *MatrixCmdGroup) error {
|
||||
|
||||
// MatrixEqCmdGroup defines the command group for controlling the equaliser settings of the Matrix output, including commands for getting or setting the EQ parameters.
|
||||
type MatrixEqCmdGroup struct {
|
||||
On MatrixEqOnCmd `help:"Get or set the EQ on/off state of the Matrix output." cmd:"on"`
|
||||
On MatrixEqOnCmd `cmd:"" help:"Get or set the EQ on/off state of the Matrix output."`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain MatrixEqBandGainCmd `help:"Get or set the gain of the specified EQ band." cmd:"gain"`
|
||||
Freq MatrixEqBandFreqCmd `help:"Get or set the frequency of the specified EQ band." cmd:"freq"`
|
||||
Q MatrixEqBandQCmd `help:"Get or set the Q factor of the specified EQ band." cmd:"q"`
|
||||
Type MatrixEqBandTypeCmd `help:"Get or set the type of the specified EQ band." cmd:"type"`
|
||||
} `help:"Commands for controlling individual EQ bands of the Matrix output." arg:""`
|
||||
Gain MatrixEqBandGainCmd `cmd:"" help:"Get or set the gain of the specified EQ band."`
|
||||
Freq MatrixEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the specified EQ band."`
|
||||
Q MatrixEqBandQCmd `cmd:"" help:"Get or set the Q factor of the specified EQ band."`
|
||||
Type MatrixEqBandTypeCmd `cmd:"" help:"Get or set the type of the specified EQ band."`
|
||||
} ` help:"Commands for controlling individual EQ bands of the Matrix output." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Matrix output.
|
||||
@@ -332,15 +332,15 @@ func (cmd *MatrixEqBandTypeCmd) Run(
|
||||
|
||||
// MatrixCompCmdGroup defines the command group for controlling the compressor settings of the Matrix output, including commands for getting or setting the compressor parameters.
|
||||
type MatrixCompCmdGroup struct {
|
||||
On MatrixCompOnCmd `help:"Get or set the compressor on/off state of the Matrix output." cmd:"on"`
|
||||
Mode MatrixCompModeCmd `help:"Get or set the compressor mode of the Matrix output." cmd:"mode"`
|
||||
Threshold MatrixCompThresholdCmd `help:"Get or set the compressor threshold of the Matrix output." cmd:"threshold"`
|
||||
Ratio MatrixCompRatioCmd `help:"Get or set the compressor ratio of the Matrix output." cmd:"ratio"`
|
||||
Mix MatrixCompMixCmd `help:"Get or set the compressor mix level of the Matrix output." cmd:"mix"`
|
||||
Makeup MatrixCompMakeupCmd `help:"Get or set the compressor makeup gain of the Matrix output." cmd:"makeup"`
|
||||
Attack MatrixCompAttackCmd `help:"Get or set the compressor attack time of the Matrix output." cmd:"attack"`
|
||||
Hold MatrixCompHoldCmd `help:"Get or set the compressor hold time of the Matrix output." cmd:"hold"`
|
||||
Release MatrixCompReleaseCmd `help:"Get or set the compressor release time of the Matrix output." cmd:"release"`
|
||||
On MatrixCompOnCmd `cmd:"" help:"Get or set the compressor on/off state of the Matrix output."`
|
||||
Mode MatrixCompModeCmd `cmd:"" help:"Get or set the compressor mode of the Matrix output."`
|
||||
Threshold MatrixCompThresholdCmd `cmd:"" help:"Get or set the compressor threshold of the Matrix output."`
|
||||
Ratio MatrixCompRatioCmd `cmd:"" help:"Get or set the compressor ratio of the Matrix output."`
|
||||
Mix MatrixCompMixCmd `cmd:"" help:"Get or set the compressor mix level of the Matrix output."`
|
||||
Makeup MatrixCompMakeupCmd `cmd:"" help:"Get or set the compressor makeup gain of the Matrix output."`
|
||||
Attack MatrixCompAttackCmd `cmd:"" help:"Get or set the compressor attack time of the Matrix output."`
|
||||
Hold MatrixCompHoldCmd `cmd:"" help:"Get or set the compressor hold time of the Matrix output."`
|
||||
Release MatrixCompReleaseCmd `cmd:"" help:"Get or set the compressor release time of the Matrix output."`
|
||||
}
|
||||
|
||||
// MatrixCompOnCmd defines the command for getting or setting the compressor on/off state of the Matrix output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
|
||||
// RawCmd represents the command to send raw OSC messages to the mixer.
|
||||
type RawCmd struct {
|
||||
Address string `help:"The OSC address to send the message to." arg:""`
|
||||
Args []string `help:"The arguments to include in the OSC message." arg:"" optional:""`
|
||||
Address string `arg:"" help:"The OSC address to send the message to."`
|
||||
Args []string `arg:"" help:"The arguments to include in the OSC message." optional:""`
|
||||
}
|
||||
|
||||
// Run executes the RawCmd by sending the specified OSC message to the mixer and optionally waiting for a response.
|
||||
|
||||
@@ -3,14 +3,14 @@ package main
|
||||
import "fmt"
|
||||
|
||||
type SnapshotCmdGroup struct {
|
||||
List ListCmd `help:"List all snapshots." cmd:"list"`
|
||||
List ListCmd `cmd:"" help:"List all snapshots."`
|
||||
Index struct {
|
||||
Index *int `arg:"" help:"The index of the snapshot." optional:""`
|
||||
Name NameCmd `help:"Get or set the name of a snapshot." cmd:"name"`
|
||||
Save SaveCmd `help:"Save the current mixer state to a snapshot." cmd:"save"`
|
||||
Load LoadCmd `help:"Load a mixer state from a snapshot." cmd:"load"`
|
||||
Delete DeleteCmd `help:"Delete a snapshot." cmd:"delete"`
|
||||
} `help:"The index of the snapshot." arg:""`
|
||||
Name NameCmd `cmd:"" help:"Get or set the name of a snapshot."`
|
||||
Save SaveCmd `cmd:"" help:"Save the current mixer state to a snapshot."`
|
||||
Load LoadCmd `cmd:"" help:"Load a mixer state from a snapshot."`
|
||||
Delete DeleteCmd `cmd:"" help:"Delete a snapshot."`
|
||||
} ` help:"The index of the snapshot." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided snapshot index is within the valid range (1-64) when any of the subcommands that require an index are used.
|
||||
|
||||
@@ -9,16 +9,16 @@ import (
|
||||
type StripCmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the strip. (1-based indexing)"`
|
||||
Mute StripMuteCmd ` help:"Get or set the mute state of the strip." cmd:""`
|
||||
Fader StripFaderCmd ` help:"Get or set the fader level of the strip." cmd:""`
|
||||
Fadein StripFadeinCmd ` help:"Fade in the strip over a specified duration." cmd:""`
|
||||
Fadeout StripFadeoutCmd ` help:"Fade out the strip over a specified duration." cmd:""`
|
||||
Send StripSendCmd ` help:"Get or set the send level for a specific bus." cmd:""`
|
||||
Name StripNameCmd ` help:"Get or set the name of the strip." cmd:""`
|
||||
Mute StripMuteCmd `cmd:"" help:"Get or set the mute state of the strip." `
|
||||
Fader StripFaderCmd `cmd:"" help:"Get or set the fader level of the strip."`
|
||||
Fadein StripFadeinCmd `cmd:"" help:"Fade in the strip over a specified duration."`
|
||||
Fadeout StripFadeoutCmd `cmd:"" help:"Fade out the strip over a specified duration."`
|
||||
Send StripSendCmd `cmd:"" help:"Get or set the send level for a specific bus."`
|
||||
Name StripNameCmd `cmd:"" help:"Get or set the name of the strip."`
|
||||
|
||||
Gate StripGateCmdGroup ` help:"Commands related to the strip gate." cmd:"gate"`
|
||||
Eq StripEqCmdGroup ` help:"Commands related to the strip EQ." cmd:"eq"`
|
||||
Comp StripCompCmdGroup ` help:"Commands related to the strip compressor." cmd:"comp"`
|
||||
Gate StripGateCmdGroup `cmd:"" help:"Commands related to the strip gate."`
|
||||
Eq StripEqCmdGroup `cmd:"" help:"Commands related to the strip EQ."`
|
||||
Comp StripCompCmdGroup `cmd:"" help:"Commands related to the strip compressor."`
|
||||
} `arg:"" help:"Control a specific strip by index."`
|
||||
}
|
||||
|
||||
@@ -217,13 +217,13 @@ func (cmd *StripNameCmd) Run(ctx *context, strip *StripCmdGroup) error {
|
||||
|
||||
// StripGateCmdGroup defines the command group for controlling the gate settings of a strip, including commands for getting and setting the gate on/off state, mode, threshold, range, attack time, hold time, and release time.
|
||||
type StripGateCmdGroup struct {
|
||||
On StripGateOnCmd `help:"Get or set the gate on/off state of the strip." cmd:""`
|
||||
Mode StripGateModeCmd `help:"Get or set the gate mode of the strip." cmd:""`
|
||||
Threshold StripGateThresholdCmd `help:"Get or set the gate threshold of the strip." cmd:""`
|
||||
Range StripGateRangeCmd `help:"Get or set the gate range of the strip." cmd:""`
|
||||
Attack StripGateAttackCmd `help:"Get or set the gate attack time of the strip." cmd:""`
|
||||
Hold StripGateHoldCmd `help:"Get or set the gate hold time of the strip." cmd:""`
|
||||
Release StripGateReleaseCmd `help:"Get or set the gate release time of the strip." cmd:""`
|
||||
On StripGateOnCmd `cmd:"" help:"Get or set the gate on/off state of the strip."`
|
||||
Mode StripGateModeCmd `cmd:"" help:"Get or set the gate mode of the strip."`
|
||||
Threshold StripGateThresholdCmd `cmd:"" help:"Get or set the gate threshold of the strip."`
|
||||
Range StripGateRangeCmd `cmd:"" help:"Get or set the gate range of the strip."`
|
||||
Attack StripGateAttackCmd `cmd:"" help:"Get or set the gate attack time of the strip."`
|
||||
Hold StripGateHoldCmd `cmd:"" help:"Get or set the gate hold time of the strip."`
|
||||
Release StripGateReleaseCmd `cmd:"" help:"Get or set the gate release time of the strip."`
|
||||
}
|
||||
|
||||
// StripGateOnCmd defines the command for getting or setting the gate on/off state of a strip, allowing users to enable or disable the gate effect on the strip.
|
||||
@@ -404,14 +404,14 @@ func (cmd *StripGateReleaseCmd) Run(ctx *context, strip *StripCmdGroup) error {
|
||||
|
||||
// StripEqCmdGroup defines the command group for controlling the EQ settings of a strip, including commands for getting and setting the EQ on/off state and parameters for each EQ band such as gain, frequency, Q factor, and type.
|
||||
type StripEqCmdGroup struct {
|
||||
On StripEqOnCmd `help:"Get or set the EQ on/off state of the strip." cmd:""`
|
||||
On StripEqOnCmd `cmd:"" help:"Get or set the EQ on/off state of the strip."`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain StripEqBandGainCmd `help:"Get or set the gain of the EQ band." cmd:""`
|
||||
Freq StripEqBandFreqCmd `help:"Get or set the frequency of the EQ band." cmd:""`
|
||||
Q StripEqBandQCmd `help:"Get or set the Q factor of the EQ band." cmd:""`
|
||||
Type StripEqBandTypeCmd `help:"Get or set the type of the EQ band." cmd:""`
|
||||
} `help:"Commands for controlling a specific EQ band of the strip." arg:""`
|
||||
Gain StripEqBandGainCmd `cmd:"" help:"Get or set the gain of the EQ band."`
|
||||
Freq StripEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the EQ band."`
|
||||
Q StripEqBandQCmd `cmd:"" help:"Get or set the Q factor of the EQ band."`
|
||||
Type StripEqBandTypeCmd `cmd:"" help:"Get or set the type of the EQ band."`
|
||||
} ` help:"Commands for controlling a specific EQ band of the strip." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided EQ band number is valid (between 1 and 4) and returns an error if it is not.
|
||||
@@ -619,15 +619,15 @@ func (cmd *StripEqBandTypeCmd) Run(
|
||||
|
||||
// StripCompCmdGroup defines the command group for controlling the compressor settings of a strip, including commands for getting and setting the compressor on/off state, mode, threshold, ratio, mix, makeup gain, attack time, hold time, and release time.
|
||||
type StripCompCmdGroup struct {
|
||||
On StripCompOnCmd `help:"Get or set the compressor on/off state of the strip." cmd:""`
|
||||
Mode StripCompModeCmd `help:"Get or set the compressor mode of the strip." cmd:""`
|
||||
Threshold StripCompThresholdCmd `help:"Get or set the compressor threshold of the strip." cmd:""`
|
||||
Ratio StripCompRatioCmd `help:"Get or set the compressor ratio of the strip." cmd:""`
|
||||
Mix StripCompMixCmd `help:"Get or set the compressor mix of the strip." cmd:""`
|
||||
Makeup StripCompMakeupCmd `help:"Get or set the compressor makeup gain of the strip." cmd:""`
|
||||
Attack StripCompAttackCmd `help:"Get or set the compressor attack time of the strip." cmd:""`
|
||||
Hold StripCompHoldCmd `help:"Get or set the compressor hold time of the strip." cmd:""`
|
||||
Release StripCompReleaseCmd `help:"Get or set the compressor release time of the strip." cmd:""`
|
||||
On StripCompOnCmd `cmd:"" help:"Get or set the compressor on/off state of the strip."`
|
||||
Mode StripCompModeCmd `cmd:"" help:"Get or set the compressor mode of the strip."`
|
||||
Threshold StripCompThresholdCmd `cmd:"" help:"Get or set the compressor threshold of the strip."`
|
||||
Ratio StripCompRatioCmd `cmd:"" help:"Get or set the compressor ratio of the strip."`
|
||||
Mix StripCompMixCmd `cmd:"" help:"Get or set the compressor mix of the strip."`
|
||||
Makeup StripCompMakeupCmd `cmd:"" help:"Get or set the compressor makeup gain of the strip."`
|
||||
Attack StripCompAttackCmd `cmd:"" help:"Get or set the compressor attack time of the strip."`
|
||||
Hold StripCompHoldCmd `cmd:"" help:"Get or set the compressor hold time of the strip."`
|
||||
Release StripCompReleaseCmd `cmd:"" help:"Get or set the compressor release time of the strip."`
|
||||
}
|
||||
|
||||
// StripCompOnCmd defines the command for getting or setting the compressor on/off state of a strip, allowing users to enable or disable the compressor effect on the strip.
|
||||
|
||||
@@ -9,14 +9,14 @@ import (
|
||||
type BusCmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the bus. (1-based indexing)"`
|
||||
Mute BusMuteCmd ` help:"Get or set the mute state of the bus." cmd:""`
|
||||
Fader BusFaderCmd ` help:"Get or set the fader level of the bus." cmd:""`
|
||||
Fadein BusFadeinCmd ` help:"Fade in the bus over a specified duration." cmd:""`
|
||||
Fadeout BusFadeoutCmd ` help:"Fade out the bus over a specified duration." cmd:""`
|
||||
Name BusNameCmd ` help:"Get or set the name of the bus." cmd:""`
|
||||
Mute BusMuteCmd `cmd:"" help:"Get or set the mute state of the bus."`
|
||||
Fader BusFaderCmd `cmd:"" help:"Get or set the fader level of the bus."`
|
||||
Fadein BusFadeinCmd `cmd:"" help:"Fade in the bus over a specified duration."`
|
||||
Fadeout BusFadeoutCmd `cmd:"" help:"Fade out the bus over a specified duration."`
|
||||
Name BusNameCmd `cmd:"" help:"Get or set the name of the bus."`
|
||||
|
||||
Eq BusEqCmdGroup ` help:"Commands related to the bus EQ." cmd:"eq"`
|
||||
Comp BusCompCmdGroup ` help:"Commands related to the bus compressor." cmd:"comp"`
|
||||
Eq BusEqCmdGroup `cmd:"" help:"Commands related to the bus EQ."`
|
||||
Comp BusCompCmdGroup `cmd:"" help:"Commands related to the bus compressor."`
|
||||
} `arg:"" help:"Control a specific bus by index."`
|
||||
}
|
||||
|
||||
@@ -179,15 +179,15 @@ func (cmd *BusNameCmd) Run(ctx *context, bus *BusCmdGroup) error {
|
||||
|
||||
// BusEqCmdGroup defines the commands related to controlling the EQ of a bus.
|
||||
type BusEqCmdGroup struct {
|
||||
On BusEqOnCmd `help:"Get or set the EQ on/off state of the bus." cmd:"on"`
|
||||
Mode BusEqModeCmd `help:"Get or set the EQ mode of the bus (peq, geq or teq)." cmd:"mode"`
|
||||
On BusEqOnCmd `cmd:"" help:"Get or set the EQ on/off state of the bus."`
|
||||
Mode BusEqModeCmd `cmd:"" help:"Get or set the EQ mode of the bus (peq, geq or teq)."`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain BusEqBandGainCmd `help:"Get or set the gain of the EQ band." cmd:"gain"`
|
||||
Freq BusEqBandFreqCmd `help:"Get or set the frequency of the EQ band." cmd:"freq"`
|
||||
Q BusEqBandQCmd `help:"Get or set the Q factor of the EQ band." cmd:"q"`
|
||||
Type BusEqBandTypeCmd `help:"Get or set the type of the EQ band (lcut, lshv, peq, veq, hshv, hcut)." cmd:"type"`
|
||||
} `help:"Commands for controlling a specific EQ band of the bus." arg:""`
|
||||
Gain BusEqBandGainCmd `cmd:"" help:"Get or set the gain of the EQ band."`
|
||||
Freq BusEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the EQ band."`
|
||||
Q BusEqBandQCmd `cmd:"" help:"Get or set the Q factor of the EQ band."`
|
||||
Type BusEqBandTypeCmd `cmd:"" help:"Get or set the type of the EQ band (lcut, lshv, peq, veq, hshv, hcut)."`
|
||||
} ` help:"Commands for controlling a specific EQ band of the bus." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks that the provided EQ band number is within the valid range (1-6).
|
||||
@@ -394,15 +394,15 @@ func (cmd *BusEqBandTypeCmd) Run(ctx *context, bus *BusCmdGroup, busEq *BusEqCmd
|
||||
|
||||
// BusCompCmdGroup defines the commands related to controlling the compressor of a bus.
|
||||
type BusCompCmdGroup struct {
|
||||
On BusCompOnCmd `help:"Get or set the compressor on/off state of the bus." cmd:"on"`
|
||||
Mode BusCompModeCmd `help:"Get or set the compressor mode of the bus (comp, exp)." cmd:"mode"`
|
||||
Threshold BusCompThresholdCmd `help:"Get or set the compressor threshold of the bus (in dB)." cmd:"threshold"`
|
||||
Ratio BusCompRatioCmd `help:"Get or set the compressor ratio of the bus." cmd:"ratio"`
|
||||
Mix BusCompMixCmd `help:"Get or set the compressor mix level of the bus (in %)." cmd:"mix"`
|
||||
Makeup BusCompMakeupCmd `help:"Get or set the compressor makeup gain of the bus (in dB)." cmd:"makeup"`
|
||||
Attack BusCompAttackCmd `help:"Get or set the compressor attack time of the bus (in ms)." cmd:"attack"`
|
||||
Hold BusCompHoldCmd `help:"Get or set the compressor hold time of the bus (in ms)." cmd:"hold"`
|
||||
Release BusCompReleaseCmd `help:"Get or set the compressor release time of the bus (in ms)." cmd:"release"`
|
||||
On BusCompOnCmd `cmd:"" help:"Get or set the compressor on/off state of the bus."`
|
||||
Mode BusCompModeCmd `cmd:"" help:"Get or set the compressor mode of the bus (comp, exp)."`
|
||||
Threshold BusCompThresholdCmd `cmd:"" help:"Get or set the compressor threshold of the bus (in dB)."`
|
||||
Ratio BusCompRatioCmd `cmd:"" help:"Get or set the compressor ratio of the bus."`
|
||||
Mix BusCompMixCmd `cmd:"" help:"Get or set the compressor mix level of the bus (in %)."`
|
||||
Makeup BusCompMakeupCmd `cmd:"" help:"Get or set the compressor makeup gain of the bus (in dB)."`
|
||||
Attack BusCompAttackCmd `cmd:"" help:"Get or set the compressor attack time of the bus (in ms)."`
|
||||
Hold BusCompHoldCmd `cmd:"" help:"Get or set the compressor hold time of the bus (in ms)."`
|
||||
Release BusCompReleaseCmd `cmd:"" help:"Get or set the compressor release time of the bus (in ms)."`
|
||||
}
|
||||
|
||||
// BusCompOnCmd defines the command for getting or setting the compressor on/off state of a bus.
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/alecthomas/kong"
|
||||
mangokong "github.com/alecthomas/mango-kong"
|
||||
"github.com/charmbracelet/log"
|
||||
kongcompletion "github.com/jotaen/kong-completion"
|
||||
|
||||
@@ -39,10 +40,10 @@ type context struct {
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
Host string `default:"mixer.local" help:"The host of the X-Air device." env:"XAIR_CLI_HOST" short:"H"`
|
||||
Port int `default:"10024" help:"The port of the X-Air device." env:"XAIR_CLI_PORT" short:"P"`
|
||||
Timeout time.Duration `default:"100ms" help:"Timeout for OSC operations." env:"XAIR_CLI_TIMEOUT" short:"T"`
|
||||
Loglevel string `default:"warn" help:"Log level for the CLI." env:"XAIR_CLI_LOGLEVEL" short:"L" enum:"debug,info,warn,error,fatal"`
|
||||
Host string `flag:"" default:"mixer.local" help:"The host of the X-Air device." env:"XAIR_CLI_HOST" short:"H"`
|
||||
Port int `flag:"" default:"10024" help:"The port of the X-Air device." env:"XAIR_CLI_PORT" short:"P"`
|
||||
Timeout time.Duration `flag:"" default:"100ms" help:"Timeout for OSC operations." env:"XAIR_CLI_TIMEOUT" short:"T"`
|
||||
Loglevel string `flag:"" default:"warn" help:"Log level for the CLI." env:"XAIR_CLI_LOGLEVEL" short:"L" enum:"debug,info,warn,error,fatal"`
|
||||
}
|
||||
|
||||
// CLI is the main struct for the command-line interface.
|
||||
@@ -50,18 +51,19 @@ type Config struct {
|
||||
type CLI struct {
|
||||
Config `embed:"" prefix:"" help:"The configuration for the CLI."`
|
||||
|
||||
Version VersionFlag `help:"Print xair-cli version information and quit" name:"version" short:"v"`
|
||||
Man mangokong.ManFlag `help:"Print man page."`
|
||||
Version VersionFlag `help:"Print xair-cli version information and quit" name:"version" short:"v"`
|
||||
|
||||
Completion kongcompletion.Completion `help:"Generate shell completion scripts." cmd:""`
|
||||
Info InfoCmd `help:"Print mixer information." cmd:""`
|
||||
Raw RawCmd `help:"Send raw OSC messages to the mixer." cmd:""`
|
||||
Completion kongcompletion.Completion `cmd:"" help:"Generate shell completion scripts."`
|
||||
Info InfoCmd `cmd:"" help:"Print mixer information."`
|
||||
Raw RawCmd `cmd:"" help:"Send raw OSC messages to the mixer."`
|
||||
|
||||
Main MainCmdGroup `help:"Control the Main L/R output" cmd:"" group:"Main"`
|
||||
Strip StripCmdGroup `help:"Control the strips." cmd:"" group:"Strip"`
|
||||
Bus BusCmdGroup `help:"Control the buses." cmd:"" group:"Bus"`
|
||||
Headamp HeadampCmdGroup `help:"Control input gain and phantom power." cmd:"" group:"Headamp"`
|
||||
Snapshot SnapshotCmdGroup `help:"Save and load mixer states." cmd:"" group:"Snapshot"`
|
||||
Dca DCACmdGroup `help:"Control DCA groups." cmd:"" group:"DCA"`
|
||||
Main MainCmdGroup `cmd:"" help:"Control the Main L/R output" group:"Main"`
|
||||
Strip StripCmdGroup `cmd:"" help:"Control the strips." group:"Strip"`
|
||||
Bus BusCmdGroup `cmd:"" help:"Control the buses." group:"Bus"`
|
||||
Headamp HeadampCmdGroup `cmd:"" help:"Control input gain and phantom power." group:"Headamp"`
|
||||
Snapshot SnapshotCmdGroup `cmd:"" help:"Save and load mixer states." group:"Snapshot"`
|
||||
Dca DCACmdGroup `cmd:"" help:"Control DCA groups." group:"DCA"`
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
type DCACmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the DCA group (1-4)."`
|
||||
Mute DCAMuteCmd `help:"Get or set the mute status of the DCA group." cmd:""`
|
||||
Name DCANameCmd `help:"Get or set the name of the DCA group." cmd:""`
|
||||
Mute DCAMuteCmd `cmd:"" help:"Get or set the mute status of the DCA group."`
|
||||
Name DCANameCmd `cmd:"" help:"Get or set the name of the DCA group."`
|
||||
} `arg:"" help:"Control a specific DCA group by its index."`
|
||||
}
|
||||
|
||||
|
||||
@@ -11,15 +11,15 @@ import (
|
||||
type HeadampCmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the headamp."`
|
||||
Gain HeadampGainCmd `help:"Get or set the gain of the headamp." cmd:""`
|
||||
Phantom HeadampPhantomCmd `help:"Get or set the phantom power state of the headamp." cmd:""`
|
||||
Gain HeadampGainCmd `cmd:"" help:"Get or set the gain of the headamp."`
|
||||
Phantom HeadampPhantomCmd `cmd:"" help:"Get or set the phantom power state of the headamp."`
|
||||
} `arg:"" help:"Control a specific headamp by index."`
|
||||
}
|
||||
|
||||
// HeadampGainCmd defines the command for getting or setting the gain of a headamp, allowing users to specify the gain in dB and an optional duration for a gradual fade when setting the gain.
|
||||
type HeadampGainCmd struct {
|
||||
Duration time.Duration `help:"The duration of the fade in/out when setting the gain." default:"5s"`
|
||||
Gain *float64 `help:"The gain of the headamp in dB." arg:"" optional:""`
|
||||
Duration time.Duration `flag:"" help:"The duration of the fade in/out when setting the gain." default:"5s"`
|
||||
Gain *float64 ` help:"The gain of the headamp in dB." arg:"" optional:""`
|
||||
}
|
||||
|
||||
// Run executes the HeadampGainCmd command, either retrieving the current gain of the headamp or setting it based on the provided argument, with an optional fade duration for smooth transitions.
|
||||
@@ -99,7 +99,7 @@ func gradualGainAdjust(
|
||||
|
||||
// HeadampPhantomCmd defines the command for getting or setting the phantom power state of a headamp, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
type HeadampPhantomCmd struct {
|
||||
State *string `help:"The phantom power state of the headamp." arg:"" enum:"true,on,false,off" optional:""`
|
||||
State *string `arg:"" help:"The phantom power state of the headamp." enum:"true,on,false,off" optional:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided phantom power state is valid and normalises it to "true" or "false".
|
||||
|
||||
@@ -8,14 +8,14 @@ import (
|
||||
|
||||
// MainCmdGroup defines the command group for controlling the Main L/R output, including commands for mute state, fader level, and fade-in/fade-out times.
|
||||
type MainCmdGroup struct {
|
||||
Mute MainMuteCmd `help:"Get or set the mute state of the Main L/R output." cmd:""`
|
||||
Mute MainMuteCmd `cmd:"" help:"Get or set the mute state of the Main L/R output."`
|
||||
|
||||
Fader MainFaderCmd `help:"Get or set the fader level of the Main L/R output." cmd:""`
|
||||
Fadein MainFadeinCmd `help:"Fade in the Main L/R output over a specified duration." cmd:""`
|
||||
Fadeout MainFadeoutCmd `help:"Fade out the Main L/R output over a specified duration." cmd:""`
|
||||
Fader MainFaderCmd `cmd:"" help:"Get or set the fader level of the Main L/R output."`
|
||||
Fadein MainFadeinCmd `cmd:"" help:"Fade in the Main L/R output over a specified duration."`
|
||||
Fadeout MainFadeoutCmd `cmd:"" help:"Fade out the Main L/R output over a specified duration."`
|
||||
|
||||
Eq MainEqCmdGroup `help:"Commands for controlling the equaliser settings of the Main L/R output." cmd:"eq"`
|
||||
Comp MainCompCmdGroup `help:"Commands for controlling the compressor settings of the Main L/R output." cmd:"comp"`
|
||||
Eq MainEqCmdGroup `cmd:"" help:"Commands for controlling the equaliser settings of the Main L/R output."`
|
||||
Comp MainCompCmdGroup `cmd:"" help:"Commands for controlling the compressor settings of the Main L/R output."`
|
||||
}
|
||||
|
||||
// MainMuteCmd defines the command for getting or setting the mute state of the Main L/R output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
@@ -134,14 +134,14 @@ func (cmd *MainFadeoutCmd) Run(ctx *context) error {
|
||||
|
||||
// MainEqCmdGroup defines the command group for controlling the equaliser settings of the Main L/R output, including commands for getting or setting the EQ parameters.
|
||||
type MainEqCmdGroup struct {
|
||||
On MainEqOnCmd `help:"Get or set the EQ on/off state of the Main L/R output." cmd:"on"`
|
||||
On MainEqOnCmd `cmd:"" help:"Get or set the EQ on/off state of the Main L/R output."`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain MainEqBandGainCmd `help:"Get or set the gain of the specified EQ band." cmd:"gain"`
|
||||
Freq MainEqBandFreqCmd `help:"Get or set the frequency of the specified EQ band." cmd:"freq"`
|
||||
Q MainEqBandQCmd `help:"Get or set the Q factor of the specified EQ band." cmd:"q"`
|
||||
Type MainEqBandTypeCmd `help:"Get or set the type of the specified EQ band." cmd:"type"`
|
||||
} `help:"Commands for controlling individual EQ bands of the Main L/R output." arg:""`
|
||||
Gain MainEqBandGainCmd `cmd:"" help:"Get or set the gain of the specified EQ band."`
|
||||
Freq MainEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the specified EQ band."`
|
||||
Q MainEqBandQCmd `cmd:"" help:"Get or set the Q factor of the specified EQ band."`
|
||||
Type MainEqBandTypeCmd `cmd:"" help:"Get or set the type of the specified EQ band."`
|
||||
} ` help:"Commands for controlling individual EQ bands of the Main L/R output." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Main L/R output.
|
||||
@@ -291,15 +291,15 @@ func (cmd *MainEqBandTypeCmd) Run(ctx *context, mainEq *MainEqCmdGroup) error {
|
||||
|
||||
// MainCompCmdGroup defines the command group for controlling the compressor settings of the Main L/R output, including commands for getting or setting the compressor parameters.
|
||||
type MainCompCmdGroup struct {
|
||||
On MainCompOnCmd `help:"Get or set the compressor on/off state of the Main L/R output." cmd:"on"`
|
||||
Mode MainCompModeCmd `help:"Get or set the compressor mode of the Main L/R output." cmd:"mode"`
|
||||
Threshold MainCompThresholdCmd `help:"Get or set the compressor threshold of the Main L/R output." cmd:"threshold"`
|
||||
Ratio MainCompRatioCmd `help:"Get or set the compressor ratio of the Main L/R output." cmd:"ratio"`
|
||||
Mix MainCompMixCmd `help:"Get or set the compressor mix level of the Main L/R output." cmd:"mix"`
|
||||
Makeup MainCompMakeupCmd `help:"Get or set the compressor makeup gain of the Main L/R output." cmd:"makeup"`
|
||||
Attack MainCompAttackCmd `help:"Get or set the compressor attack time of the Main L/R output." cmd:"attack"`
|
||||
Hold MainCompHoldCmd `help:"Get or set the compressor hold time of the Main L/R output." cmd:"hold"`
|
||||
Release MainCompReleaseCmd `help:"Get or set the compressor release time of the Main L/R output." cmd:"release"`
|
||||
On MainCompOnCmd `cmd:"on" help:"Get or set the compressor on/off state of the Main L/R output."`
|
||||
Mode MainCompModeCmd `cmd:"mode" help:"Get or set the compressor mode of the Main L/R output."`
|
||||
Threshold MainCompThresholdCmd `cmd:"threshold" help:"Get or set the compressor threshold of the Main L/R output."`
|
||||
Ratio MainCompRatioCmd `cmd:"ratio" help:"Get or set the compressor ratio of the Main L/R output."`
|
||||
Mix MainCompMixCmd `cmd:"mix" help:"Get or set the compressor mix level of the Main L/R output."`
|
||||
Makeup MainCompMakeupCmd `cmd:"makeup" help:"Get or set the compressor makeup gain of the Main L/R output."`
|
||||
Attack MainCompAttackCmd `cmd:"attack" help:"Get or set the compressor attack time of the Main L/R output."`
|
||||
Hold MainCompHoldCmd `cmd:"hold" help:"Get or set the compressor hold time of the Main L/R output."`
|
||||
Release MainCompReleaseCmd `cmd:"release" help:"Get or set the compressor release time of the Main L/R output."`
|
||||
}
|
||||
|
||||
// MainCompOnCmd defines the command for getting or setting the compressor on/off state of the Main L/R output, allowing users to specify the desired state as "true"/"on" or "false"/"off".
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
|
||||
// RawCmd represents the command to send raw OSC messages to the mixer.
|
||||
type RawCmd struct {
|
||||
Address string `help:"The OSC address to send the message to." arg:""`
|
||||
Args []string `help:"The arguments to include in the OSC message." arg:"" optional:""`
|
||||
Address string `arg:"" help:"The OSC address to send the message to."`
|
||||
Args []string `arg:"" help:"The arguments to include in the OSC message." optional:""`
|
||||
}
|
||||
|
||||
// Run executes the RawCmd by sending the specified OSC message to the mixer and optionally waiting for a response.
|
||||
|
||||
@@ -3,14 +3,14 @@ package main
|
||||
import "fmt"
|
||||
|
||||
type SnapshotCmdGroup struct {
|
||||
List ListCmd `help:"List all snapshots." cmd:"list"`
|
||||
List ListCmd `cmd:"" help:"List all snapshots."`
|
||||
Index struct {
|
||||
Index *int `arg:"" help:"The index of the snapshot." optional:""`
|
||||
Name NameCmd `help:"Get or set the name of a snapshot." cmd:"name"`
|
||||
Save SaveCmd `help:"Save the current mixer state to a snapshot." cmd:"save"`
|
||||
Load LoadCmd `help:"Load a mixer state from a snapshot." cmd:"load"`
|
||||
Delete DeleteCmd `help:"Delete a snapshot." cmd:"delete"`
|
||||
} `help:"The index of the snapshot." arg:""`
|
||||
Name NameCmd `cmd:"" help:"Get or set the name of a snapshot."`
|
||||
Save SaveCmd `cmd:"" help:"Save the current mixer state to a snapshot."`
|
||||
Load LoadCmd `cmd:"" help:"Load a mixer state from a snapshot."`
|
||||
Delete DeleteCmd `cmd:"" help:"Delete a snapshot."`
|
||||
} ` help:"The index of the snapshot." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided snapshot index is within the valid range (1-64) when any of the subcommands that require an index are used.
|
||||
|
||||
@@ -9,16 +9,16 @@ import (
|
||||
type StripCmdGroup struct {
|
||||
Index struct {
|
||||
Index int `arg:"" help:"The index of the strip. (1-based indexing)"`
|
||||
Mute StripMuteCmd ` help:"Get or set the mute state of the strip." cmd:""`
|
||||
Fader StripFaderCmd ` help:"Get or set the fader level of the strip." cmd:""`
|
||||
Fadein StripFadeinCmd ` help:"Fade in the strip over a specified duration." cmd:""`
|
||||
Fadeout StripFadeoutCmd ` help:"Fade out the strip over a specified duration." cmd:""`
|
||||
Send StripSendCmd ` help:"Get or set the send level for a specific bus." cmd:""`
|
||||
Name StripNameCmd ` help:"Get or set the name of the strip." cmd:""`
|
||||
Mute StripMuteCmd `cmd:"" help:"Get or set the mute state of the strip."`
|
||||
Fader StripFaderCmd `cmd:"" help:"Get or set the fader level of the strip."`
|
||||
Fadein StripFadeinCmd `cmd:"" help:"Fade in the strip over a specified duration."`
|
||||
Fadeout StripFadeoutCmd `cmd:"" help:"Fade out the strip over a specified duration."`
|
||||
Send StripSendCmd `cmd:"" help:"Get or set the send level for a specific bus."`
|
||||
Name StripNameCmd `cmd:"" help:"Get or set the name of the strip."`
|
||||
|
||||
Gate StripGateCmdGroup ` help:"Commands related to the strip gate." cmd:"gate"`
|
||||
Eq StripEqCmdGroup ` help:"Commands related to the strip EQ." cmd:"eq"`
|
||||
Comp StripCompCmdGroup ` help:"Commands related to the strip compressor." cmd:"comp"`
|
||||
Gate StripGateCmdGroup `cmd:"gate" help:"Commands related to the strip gate."`
|
||||
Eq StripEqCmdGroup `cmd:"eq" help:"Commands related to the strip EQ."`
|
||||
Comp StripCompCmdGroup `cmd:"comp" help:"Commands related to the strip compressor."`
|
||||
} `arg:"" help:"Control a specific strip by index."`
|
||||
}
|
||||
|
||||
@@ -217,13 +217,13 @@ func (cmd *StripNameCmd) Run(ctx *context, strip *StripCmdGroup) error {
|
||||
|
||||
// StripGateCmdGroup defines the command group for controlling the gate settings of a strip, including commands for getting and setting the gate on/off state, mode, threshold, range, attack time, hold time, and release time.
|
||||
type StripGateCmdGroup struct {
|
||||
On StripGateOnCmd `help:"Get or set the gate on/off state of the strip." cmd:""`
|
||||
Mode StripGateModeCmd `help:"Get or set the gate mode of the strip." cmd:""`
|
||||
Threshold StripGateThresholdCmd `help:"Get or set the gate threshold of the strip." cmd:""`
|
||||
Range StripGateRangeCmd `help:"Get or set the gate range of the strip." cmd:""`
|
||||
Attack StripGateAttackCmd `help:"Get or set the gate attack time of the strip." cmd:""`
|
||||
Hold StripGateHoldCmd `help:"Get or set the gate hold time of the strip." cmd:""`
|
||||
Release StripGateReleaseCmd `help:"Get or set the gate release time of the strip." cmd:""`
|
||||
On StripGateOnCmd `cmd:"" help:"Get or set the gate on/off state of the strip."`
|
||||
Mode StripGateModeCmd `cmd:"" help:"Get or set the gate mode of the strip."`
|
||||
Threshold StripGateThresholdCmd `cmd:"" help:"Get or set the gate threshold of the strip."`
|
||||
Range StripGateRangeCmd `cmd:"" help:"Get or set the gate range of the strip."`
|
||||
Attack StripGateAttackCmd `cmd:"" help:"Get or set the gate attack time of the strip."`
|
||||
Hold StripGateHoldCmd `cmd:"" help:"Get or set the gate hold time of the strip."`
|
||||
Release StripGateReleaseCmd `cmd:"" help:"Get or set the gate release time of the strip."`
|
||||
}
|
||||
|
||||
// StripGateOnCmd defines the command for getting or setting the gate on/off state of a strip, allowing users to enable or disable the gate effect on the strip.
|
||||
@@ -404,14 +404,14 @@ func (cmd *StripGateReleaseCmd) Run(ctx *context, strip *StripCmdGroup) error {
|
||||
|
||||
// StripEqCmdGroup defines the command group for controlling the EQ settings of a strip, including commands for getting and setting the EQ on/off state and parameters for each EQ band such as gain, frequency, Q factor, and type.
|
||||
type StripEqCmdGroup struct {
|
||||
On StripEqOnCmd `help:"Get or set the EQ on/off state of the strip." cmd:""`
|
||||
On StripEqOnCmd `cmd:"" help:"Get or set the EQ on/off state of the strip."`
|
||||
Band struct {
|
||||
Band *int `arg:"" help:"The EQ band number." optional:""`
|
||||
Gain StripEqBandGainCmd `help:"Get or set the gain of the EQ band." cmd:""`
|
||||
Freq StripEqBandFreqCmd `help:"Get or set the frequency of the EQ band." cmd:""`
|
||||
Q StripEqBandQCmd `help:"Get or set the Q factor of the EQ band." cmd:""`
|
||||
Type StripEqBandTypeCmd `help:"Get or set the type of the EQ band." cmd:""`
|
||||
} `help:"Commands for controlling a specific EQ band of the strip." arg:""`
|
||||
Gain StripEqBandGainCmd `cmd:"" help:"Get or set the gain of the EQ band."`
|
||||
Freq StripEqBandFreqCmd `cmd:"" help:"Get or set the frequency of the EQ band."`
|
||||
Q StripEqBandQCmd `cmd:"" help:"Get or set the Q factor of the EQ band."`
|
||||
Type StripEqBandTypeCmd `cmd:"" help:"Get or set the type of the EQ band."`
|
||||
} ` help:"Commands for controlling a specific EQ band of the strip." arg:""`
|
||||
}
|
||||
|
||||
// Validate checks if the provided EQ band number is valid (between 1 and 4) and returns an error if it is not.
|
||||
@@ -619,15 +619,15 @@ func (cmd *StripEqBandTypeCmd) Run(
|
||||
|
||||
// StripCompCmdGroup defines the command group for controlling the compressor settings of a strip, including commands for getting and setting the compressor on/off state, mode, threshold, ratio, mix, makeup gain, attack time, hold time, and release time.
|
||||
type StripCompCmdGroup struct {
|
||||
On StripCompOnCmd `help:"Get or set the compressor on/off state of the strip." cmd:""`
|
||||
Mode StripCompModeCmd `help:"Get or set the compressor mode of the strip." cmd:""`
|
||||
Threshold StripCompThresholdCmd `help:"Get or set the compressor threshold of the strip." cmd:""`
|
||||
Ratio StripCompRatioCmd `help:"Get or set the compressor ratio of the strip." cmd:""`
|
||||
Mix StripCompMixCmd `help:"Get or set the compressor mix of the strip." cmd:""`
|
||||
Makeup StripCompMakeupCmd `help:"Get or set the compressor makeup gain of the strip." cmd:""`
|
||||
Attack StripCompAttackCmd `help:"Get or set the compressor attack time of the strip." cmd:""`
|
||||
Hold StripCompHoldCmd `help:"Get or set the compressor hold time of the strip." cmd:""`
|
||||
Release StripCompReleaseCmd `help:"Get or set the compressor release time of the strip." cmd:""`
|
||||
On StripCompOnCmd `cmd:"" help:"Get or set the compressor on/off state of the strip."`
|
||||
Mode StripCompModeCmd `cmd:"" help:"Get or set the compressor mode of the strip."`
|
||||
Threshold StripCompThresholdCmd `cmd:"" help:"Get or set the compressor threshold of the strip."`
|
||||
Ratio StripCompRatioCmd `cmd:"" help:"Get or set the compressor ratio of the strip."`
|
||||
Mix StripCompMixCmd `cmd:"" help:"Get or set the compressor mix of the strip."`
|
||||
Makeup StripCompMakeupCmd `cmd:"" help:"Get or set the compressor makeup gain of the strip."`
|
||||
Attack StripCompAttackCmd `cmd:"" help:"Get or set the compressor attack time of the strip."`
|
||||
Hold StripCompHoldCmd `cmd:"" help:"Get or set the compressor hold time of the strip."`
|
||||
Release StripCompReleaseCmd `cmd:"" help:"Get or set the compressor release time of the strip."`
|
||||
}
|
||||
|
||||
// StripCompOnCmd defines the command for getting or setting the compressor on/off state of a strip, allowing users to enable or disable the compressor effect on the strip.
|
||||
|
||||
17
go.mod
17
go.mod
@@ -3,10 +3,11 @@ module github.com/onyx-and-iris/xair-cli
|
||||
go 1.25.0
|
||||
|
||||
require (
|
||||
github.com/alecthomas/kong v1.14.0
|
||||
github.com/alecthomas/kong v1.15.0
|
||||
github.com/alecthomas/mango-kong v0.1.0
|
||||
github.com/charmbracelet/log v1.0.0
|
||||
github.com/hypebeast/go-osc v0.0.0-20220308234300-cec5a8a1e5f5
|
||||
github.com/jotaen/kong-completion v0.0.12
|
||||
github.com/jotaen/kong-completion v0.0.13
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -21,14 +22,16 @@ require (
|
||||
github.com/go-logfmt/logfmt v0.6.1 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.3.0 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.21 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.4.0 // indirect
|
||||
github.com/mattn/go-isatty v0.0.21 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.23 // indirect
|
||||
github.com/muesli/mango v0.2.0 // indirect
|
||||
github.com/muesli/roff v0.1.0 // indirect
|
||||
github.com/muesli/termenv v0.16.0 // indirect
|
||||
github.com/posener/complete v1.2.3 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 // indirect
|
||||
golang.org/x/sys v0.42.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect
|
||||
golang.org/x/sys v0.43.0 // indirect
|
||||
)
|
||||
|
||||
35
go.sum
35
go.sum
@@ -1,7 +1,9 @@
|
||||
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
|
||||
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
|
||||
github.com/alecthomas/kong v1.14.0 h1:gFgEUZWu2ZmZ+UhyZ1bDhuutbKN1nTtJTwh19Wsn21s=
|
||||
github.com/alecthomas/kong v1.14.0/go.mod h1:wrlbXem1CWqUV5Vbmss5ISYhsVPkBb1Yo7YKJghju2I=
|
||||
github.com/alecthomas/kong v1.15.0 h1:BVJstKbpO73zKpmIu+m/aLRrNmWwxXPIGTNin9VmLVI=
|
||||
github.com/alecthomas/kong v1.15.0/go.mod h1:wrlbXem1CWqUV5Vbmss5ISYhsVPkBb1Yo7YKJghju2I=
|
||||
github.com/alecthomas/mango-kong v0.1.0 h1:iFVfP1k1K4qpml3JUQmD5I8MCQYfIvsD9mRdrw7jJC4=
|
||||
github.com/alecthomas/mango-kong v0.1.0/go.mod h1:t+TYVdsONUolf/BwVcm+15eqcdAj15h4Qe9MMFAwwT4=
|
||||
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
||||
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
|
||||
@@ -39,14 +41,18 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq
|
||||
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
|
||||
github.com/hypebeast/go-osc v0.0.0-20220308234300-cec5a8a1e5f5 h1:fqwINudmUrvGCuw+e3tedZ2UJ0hklSw6t8UPomctKyQ=
|
||||
github.com/hypebeast/go-osc v0.0.0-20220308234300-cec5a8a1e5f5/go.mod h1:lqMjoCs0y0GoRRujSPZRBaGb4c5ER6TfkFKSClxkMbY=
|
||||
github.com/jotaen/kong-completion v0.0.12 h1:a9jmSaWgkdAUMQT583UxLIJrO9tfdSmYqcIxrBByjPc=
|
||||
github.com/jotaen/kong-completion v0.0.12/go.mod h1:dyIG20e3qq128SUBtF8jzI7YtkfzjWMlgbqkAJd6xHQ=
|
||||
github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag=
|
||||
github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w=
|
||||
github.com/mattn/go-runewidth v0.0.21/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
|
||||
github.com/jotaen/kong-completion v0.0.13 h1:fbbqijMmrCgx8sz6bZz+B5p5yJSEAdwJZALsUZ+Ql3s=
|
||||
github.com/jotaen/kong-completion v0.0.13/go.mod h1:dyIG20e3qq128SUBtF8jzI7YtkfzjWMlgbqkAJd6xHQ=
|
||||
github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4=
|
||||
github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/mattn/go-isatty v0.0.21 h1:xYae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLGs=
|
||||
github.com/mattn/go-isatty v0.0.21/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
|
||||
github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw=
|
||||
github.com/mattn/go-runewidth v0.0.23/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
|
||||
github.com/muesli/mango v0.2.0 h1:iNNc0c5VLQ6fsMgAqGQofByNUBH2Q2nEbD6TaI+5yyQ=
|
||||
github.com/muesli/mango v0.2.0/go.mod h1:5XFpbC8jY5UUv89YQciiXNlbi+iJgt29VDC5xbzrLL4=
|
||||
github.com/muesli/roff v0.1.0 h1:YD0lalCotmYuF5HhZliKWlIx7IEhiXeSfq7hNjFqGF8=
|
||||
github.com/muesli/roff v0.1.0/go.mod h1:pjAHQM9hdUUwm/krAfrLGgJkXJ+YuhtsfZ42kieB2Ig=
|
||||
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
|
||||
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
@@ -63,11 +69,10 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
|
||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||
golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 h1:jiDhWWeC7jfWqR9c/uplMOqJ0sbNlNWv0UkzE0vX1MA=
|
||||
golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90/go.mod h1:xE1HEv6b+1SCZ5/uscMRjUBKtIxworgEcEi+/n9NQDQ=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo=
|
||||
golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM=
|
||||
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80=
|
||||
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
|
||||
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
|
||||
37
tools/generate_help.go
Normal file
37
tools/generate_help.go
Normal file
@@ -0,0 +1,37 @@
|
||||
//go:generate go run generate_help.go
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func main() {
|
||||
clis := []struct {
|
||||
cmd string
|
||||
out string
|
||||
}{
|
||||
{"./cmd/xair-cli/", "xair-help.md"},
|
||||
{"./cmd/x32-cli/", "x32-help.md"},
|
||||
}
|
||||
|
||||
for _, cli := range clis {
|
||||
cmdArgs := []string{"run", cli.cmd, "--help"}
|
||||
helpCmd := exec.Command("go", cmdArgs...)
|
||||
helpCmd.Dir = ".."
|
||||
out, err := helpCmd.Output()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Wrap output in markdown console code block
|
||||
wrapped := append([]byte("```console\n"), out...)
|
||||
wrapped = append(wrapped, []byte("\n```\n")...)
|
||||
|
||||
if err := os.WriteFile(cli.out, wrapped, 0o644); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ Flags:
|
||||
-P, --port=10023 The port of the X32 device ($X32_CLI_PORT).
|
||||
-T, --timeout=100ms Timeout for OSC operations ($X32_CLI_TIMEOUT).
|
||||
-L, --loglevel="warn" Log level for the CLI ($X32_CLI_LOGLEVEL).
|
||||
--man Print man page.
|
||||
-v, --version Print x32-cli version information and quit
|
||||
|
||||
Commands:
|
||||
@@ -26,90 +27,55 @@ Main
|
||||
main eq <band> freq Get or set the frequency of the specified EQ band.
|
||||
main eq <band> q Get or set the Q factor of the specified EQ band.
|
||||
main eq <band> type Get or set the type of the specified EQ band.
|
||||
main comp on Get or set the compressor on/off state of the Main L/R
|
||||
output.
|
||||
main comp on Get or set the compressor on/off state of the Main L/R output.
|
||||
main comp mode Get or set the compressor mode of the Main L/R output.
|
||||
main comp threshold Get or set the compressor threshold of the Main L/R
|
||||
output.
|
||||
main comp threshold Get or set the compressor threshold of the Main L/R output.
|
||||
main comp ratio Get or set the compressor ratio of the Main L/R output.
|
||||
main comp mix Get or set the compressor mix level of the Main L/R
|
||||
output.
|
||||
main comp makeup Get or set the compressor makeup gain of the Main L/R
|
||||
output.
|
||||
main comp attack Get or set the compressor attack time of the Main L/R
|
||||
output.
|
||||
main comp hold Get or set the compressor hold time of the Main L/R
|
||||
output.
|
||||
main comp release Get or set the compressor release time of the Main L/R
|
||||
output.
|
||||
main comp mix Get or set the compressor mix level of the Main L/R output.
|
||||
main comp makeup Get or set the compressor makeup gain of the Main L/R output.
|
||||
main comp attack Get or set the compressor attack time of the Main L/R output.
|
||||
main comp hold Get or set the compressor hold time of the Main L/R output.
|
||||
main comp release Get or set the compressor release time of the Main L/R output.
|
||||
|
||||
MainMono
|
||||
mainmono mute Get or set the mute state of the Main Mono output.
|
||||
mainmono fader Get or set the fader level of the Main Mono output.
|
||||
mainmono fadein Fade in the Main Mono output over a specified
|
||||
duration.
|
||||
mainmono fadeout Fade out the Main Mono output over a specified
|
||||
duration.
|
||||
mainmono eq on Get or set the EQ on/off state of the Main Mono
|
||||
output.
|
||||
mainmono fadein Fade in the Main Mono output over a specified duration.
|
||||
mainmono fadeout Fade out the Main Mono output over a specified duration.
|
||||
mainmono eq on Get or set the EQ on/off state of the Main Mono output.
|
||||
mainmono eq <band> gain Get or set the gain of the specified EQ band.
|
||||
mainmono eq <band> freq Get or set the frequency of the specified EQ band.
|
||||
mainmono eq <band> q Get or set the Q factor of the specified EQ band.
|
||||
mainmono eq <band> type Get or set the type of the specified EQ band.
|
||||
mainmono comp on Get or set the compressor on/off state of the Main
|
||||
Mono output.
|
||||
mainmono comp mode Get or set the compressor mode of the Main Mono
|
||||
output.
|
||||
mainmono comp threshold Get or set the compressor threshold of the Main
|
||||
Mono output.
|
||||
mainmono comp ratio Get or set the compressor ratio of the Main Mono
|
||||
output.
|
||||
mainmono comp mix Get or set the compressor mix level of the Main
|
||||
Mono output.
|
||||
mainmono comp makeup Get or set the compressor makeup gain of the Main
|
||||
Mono output.
|
||||
mainmono comp attack Get or set the compressor attack time of the Main
|
||||
Mono output.
|
||||
mainmono comp hold Get or set the compressor hold time of the Main
|
||||
Mono output.
|
||||
mainmono comp release Get or set the compressor release time of the Main
|
||||
Mono output.
|
||||
mainmono comp on Get or set the compressor on/off state of the Main Mono output.
|
||||
mainmono comp mode Get or set the compressor mode of the Main Mono output.
|
||||
mainmono comp threshold Get or set the compressor threshold of the Main Mono output.
|
||||
mainmono comp ratio Get or set the compressor ratio of the Main Mono output.
|
||||
mainmono comp mix Get or set the compressor mix level of the Main Mono output.
|
||||
mainmono comp makeup Get or set the compressor makeup gain of the Main Mono output.
|
||||
mainmono comp attack Get or set the compressor attack time of the Main Mono output.
|
||||
mainmono comp hold Get or set the compressor hold time of the Main Mono output.
|
||||
mainmono comp release Get or set the compressor release time of the Main Mono output.
|
||||
|
||||
Matrix
|
||||
matrix <index> mute Get or set the mute state of the Matrix
|
||||
output.
|
||||
matrix <index> fader Get or set the fader level of the Matrix
|
||||
output.
|
||||
matrix <index> fadein Fade in the Matrix output over a specified
|
||||
duration.
|
||||
matrix <index> fadeout Fade out the Matrix output over a specified
|
||||
duration.
|
||||
matrix <index> eq on Get or set the EQ on/off state of the Matrix
|
||||
output.
|
||||
matrix <index> mute Get or set the mute state of the Matrix output.
|
||||
matrix <index> fader Get or set the fader level of the Matrix output.
|
||||
matrix <index> fadein Fade in the Matrix output over a specified duration.
|
||||
matrix <index> fadeout Fade out the Matrix output over a specified duration.
|
||||
matrix <index> eq on Get or set the EQ on/off state of the Matrix output.
|
||||
matrix <index> eq <band> gain Get or set the gain of the specified EQ band.
|
||||
matrix <index> eq <band> freq Get or set the frequency of the specified EQ
|
||||
band.
|
||||
matrix <index> eq <band> q Get or set the Q factor of the specified EQ
|
||||
band.
|
||||
matrix <index> eq <band> freq Get or set the frequency of the specified EQ band.
|
||||
matrix <index> eq <band> q Get or set the Q factor of the specified EQ band.
|
||||
matrix <index> eq <band> type Get or set the type of the specified EQ band.
|
||||
matrix <index> comp on Get or set the compressor on/off state of the
|
||||
Matrix output.
|
||||
matrix <index> comp mode Get or set the compressor mode of the Matrix
|
||||
output.
|
||||
matrix <index> comp threshold Get or set the compressor threshold of the
|
||||
Matrix output.
|
||||
matrix <index> comp ratio Get or set the compressor ratio of the Matrix
|
||||
output.
|
||||
matrix <index> comp mix Get or set the compressor mix level of the
|
||||
Matrix output.
|
||||
matrix <index> comp makeup Get or set the compressor makeup gain of the
|
||||
Matrix output.
|
||||
matrix <index> comp attack Get or set the compressor attack time of the
|
||||
Matrix output.
|
||||
matrix <index> comp hold Get or set the compressor hold time of the
|
||||
Matrix output.
|
||||
matrix <index> comp release Get or set the compressor release time of the
|
||||
Matrix output.
|
||||
matrix <index> comp on Get or set the compressor on/off state of the Matrix output.
|
||||
matrix <index> comp mode Get or set the compressor mode of the Matrix output.
|
||||
matrix <index> comp threshold Get or set the compressor threshold of the Matrix output.
|
||||
matrix <index> comp ratio Get or set the compressor ratio of the Matrix output.
|
||||
matrix <index> comp mix Get or set the compressor mix level of the Matrix output.
|
||||
matrix <index> comp makeup Get or set the compressor makeup gain of the Matrix output.
|
||||
matrix <index> comp attack Get or set the compressor attack time of the Matrix output.
|
||||
matrix <index> comp hold Get or set the compressor hold time of the Matrix output.
|
||||
matrix <index> comp release Get or set the compressor release time of the Matrix output.
|
||||
|
||||
Strip
|
||||
strip <index> mute Get or set the mute state of the strip.
|
||||
@@ -130,21 +96,15 @@ Strip
|
||||
strip <index> eq <band> freq Get or set the frequency of the EQ band.
|
||||
strip <index> eq <band> q Get or set the Q factor of the EQ band.
|
||||
strip <index> eq <band> type Get or set the type of the EQ band.
|
||||
strip <index> comp on Get or set the compressor on/off state of the
|
||||
strip.
|
||||
strip <index> comp on Get or set the compressor on/off state of the strip.
|
||||
strip <index> comp mode Get or set the compressor mode of the strip.
|
||||
strip <index> comp threshold Get or set the compressor threshold of the
|
||||
strip.
|
||||
strip <index> comp threshold Get or set the compressor threshold of the strip.
|
||||
strip <index> comp ratio Get or set the compressor ratio of the strip.
|
||||
strip <index> comp mix Get or set the compressor mix of the strip.
|
||||
strip <index> comp makeup Get or set the compressor makeup gain of the
|
||||
strip.
|
||||
strip <index> comp attack Get or set the compressor attack time of the
|
||||
strip.
|
||||
strip <index> comp hold Get or set the compressor hold time of the
|
||||
strip.
|
||||
strip <index> comp release Get or set the compressor release time of the
|
||||
strip.
|
||||
strip <index> comp makeup Get or set the compressor makeup gain of the strip.
|
||||
strip <index> comp attack Get or set the compressor attack time of the strip.
|
||||
strip <index> comp hold Get or set the compressor hold time of the strip.
|
||||
strip <index> comp release Get or set the compressor release time of the strip.
|
||||
|
||||
Bus
|
||||
bus <index> mute Get or set the mute state of the bus.
|
||||
@@ -153,30 +113,20 @@ Bus
|
||||
bus <index> fadeout Fade out the bus over a specified duration.
|
||||
bus <index> name Get or set the name of the bus.
|
||||
bus <index> eq on Get or set the EQ on/off state of the bus.
|
||||
bus <index> eq mode Get or set the EQ mode of the bus (peq, geq or
|
||||
teq).
|
||||
bus <index> eq mode Get or set the EQ mode of the bus (peq, geq or teq).
|
||||
bus <index> eq <band> gain Get or set the gain of the EQ band.
|
||||
bus <index> eq <band> freq Get or set the frequency of the EQ band.
|
||||
bus <index> eq <band> q Get or set the Q factor of the EQ band.
|
||||
bus <index> eq <band> type Get or set the type of the EQ band (lcut, lshv,
|
||||
peq, veq, hshv, hcut).
|
||||
bus <index> comp on Get or set the compressor on/off state of the
|
||||
bus.
|
||||
bus <index> comp mode Get or set the compressor mode of the bus (comp,
|
||||
exp).
|
||||
bus <index> comp threshold Get or set the compressor threshold of the bus
|
||||
(in dB).
|
||||
bus <index> eq <band> type Get or set the type of the EQ band (lcut, lshv, peq, veq, hshv, hcut).
|
||||
bus <index> comp on Get or set the compressor on/off state of the bus.
|
||||
bus <index> comp mode Get or set the compressor mode of the bus (comp, exp).
|
||||
bus <index> comp threshold Get or set the compressor threshold of the bus (in dB).
|
||||
bus <index> comp ratio Get or set the compressor ratio of the bus.
|
||||
bus <index> comp mix Get or set the compressor mix level of the bus
|
||||
(in %).
|
||||
bus <index> comp makeup Get or set the compressor makeup gain of the bus
|
||||
(in dB).
|
||||
bus <index> comp attack Get or set the compressor attack time of the bus
|
||||
(in ms).
|
||||
bus <index> comp hold Get or set the compressor hold time of the bus
|
||||
(in ms).
|
||||
bus <index> comp release Get or set the compressor release time of the
|
||||
bus (in ms).
|
||||
bus <index> comp mix Get or set the compressor mix level of the bus (in %).
|
||||
bus <index> comp makeup Get or set the compressor makeup gain of the bus (in dB).
|
||||
bus <index> comp attack Get or set the compressor attack time of the bus (in ms).
|
||||
bus <index> comp hold Get or set the compressor hold time of the bus (in ms).
|
||||
bus <index> comp release Get or set the compressor release time of the bus (in ms).
|
||||
|
||||
Headamp
|
||||
headamp <index> gain Get or set the gain of the headamp.
|
||||
@@ -194,4 +144,5 @@ DCA
|
||||
dca <index> name Get or set the name of the DCA group.
|
||||
|
||||
Run "x32-cli <command> --help" for more information on a command.
|
||||
|
||||
```
|
||||
@@ -9,6 +9,7 @@ Flags:
|
||||
-P, --port=10024 The port of the X-Air device ($XAIR_CLI_PORT).
|
||||
-T, --timeout=100ms Timeout for OSC operations ($XAIR_CLI_TIMEOUT).
|
||||
-L, --loglevel="warn" Log level for the CLI ($XAIR_CLI_LOGLEVEL).
|
||||
--man Print man page.
|
||||
-v, --version Print xair-cli version information and quit
|
||||
|
||||
Commands:
|
||||
@@ -26,22 +27,15 @@ Main
|
||||
main eq <band> freq Get or set the frequency of the specified EQ band.
|
||||
main eq <band> q Get or set the Q factor of the specified EQ band.
|
||||
main eq <band> type Get or set the type of the specified EQ band.
|
||||
main comp on Get or set the compressor on/off state of the Main L/R
|
||||
output.
|
||||
main comp on Get or set the compressor on/off state of the Main L/R output.
|
||||
main comp mode Get or set the compressor mode of the Main L/R output.
|
||||
main comp threshold Get or set the compressor threshold of the Main L/R
|
||||
output.
|
||||
main comp threshold Get or set the compressor threshold of the Main L/R output.
|
||||
main comp ratio Get or set the compressor ratio of the Main L/R output.
|
||||
main comp mix Get or set the compressor mix level of the Main L/R
|
||||
output.
|
||||
main comp makeup Get or set the compressor makeup gain of the Main L/R
|
||||
output.
|
||||
main comp attack Get or set the compressor attack time of the Main L/R
|
||||
output.
|
||||
main comp hold Get or set the compressor hold time of the Main L/R
|
||||
output.
|
||||
main comp release Get or set the compressor release time of the Main L/R
|
||||
output.
|
||||
main comp mix Get or set the compressor mix level of the Main L/R output.
|
||||
main comp makeup Get or set the compressor makeup gain of the Main L/R output.
|
||||
main comp attack Get or set the compressor attack time of the Main L/R output.
|
||||
main comp hold Get or set the compressor hold time of the Main L/R output.
|
||||
main comp release Get or set the compressor release time of the Main L/R output.
|
||||
|
||||
Strip
|
||||
strip <index> mute Get or set the mute state of the strip.
|
||||
@@ -62,21 +56,15 @@ Strip
|
||||
strip <index> eq <band> freq Get or set the frequency of the EQ band.
|
||||
strip <index> eq <band> q Get or set the Q factor of the EQ band.
|
||||
strip <index> eq <band> type Get or set the type of the EQ band.
|
||||
strip <index> comp on Get or set the compressor on/off state of the
|
||||
strip.
|
||||
strip <index> comp on Get or set the compressor on/off state of the strip.
|
||||
strip <index> comp mode Get or set the compressor mode of the strip.
|
||||
strip <index> comp threshold Get or set the compressor threshold of the
|
||||
strip.
|
||||
strip <index> comp threshold Get or set the compressor threshold of the strip.
|
||||
strip <index> comp ratio Get or set the compressor ratio of the strip.
|
||||
strip <index> comp mix Get or set the compressor mix of the strip.
|
||||
strip <index> comp makeup Get or set the compressor makeup gain of the
|
||||
strip.
|
||||
strip <index> comp attack Get or set the compressor attack time of the
|
||||
strip.
|
||||
strip <index> comp hold Get or set the compressor hold time of the
|
||||
strip.
|
||||
strip <index> comp release Get or set the compressor release time of the
|
||||
strip.
|
||||
strip <index> comp makeup Get or set the compressor makeup gain of the strip.
|
||||
strip <index> comp attack Get or set the compressor attack time of the strip.
|
||||
strip <index> comp hold Get or set the compressor hold time of the strip.
|
||||
strip <index> comp release Get or set the compressor release time of the strip.
|
||||
|
||||
Bus
|
||||
bus <index> mute Get or set the mute state of the bus.
|
||||
@@ -85,30 +73,20 @@ Bus
|
||||
bus <index> fadeout Fade out the bus over a specified duration.
|
||||
bus <index> name Get or set the name of the bus.
|
||||
bus <index> eq on Get or set the EQ on/off state of the bus.
|
||||
bus <index> eq mode Get or set the EQ mode of the bus (peq, geq or
|
||||
teq).
|
||||
bus <index> eq mode Get or set the EQ mode of the bus (peq, geq or teq).
|
||||
bus <index> eq <band> gain Get or set the gain of the EQ band.
|
||||
bus <index> eq <band> freq Get or set the frequency of the EQ band.
|
||||
bus <index> eq <band> q Get or set the Q factor of the EQ band.
|
||||
bus <index> eq <band> type Get or set the type of the EQ band (lcut, lshv,
|
||||
peq, veq, hshv, hcut).
|
||||
bus <index> comp on Get or set the compressor on/off state of the
|
||||
bus.
|
||||
bus <index> comp mode Get or set the compressor mode of the bus (comp,
|
||||
exp).
|
||||
bus <index> comp threshold Get or set the compressor threshold of the bus
|
||||
(in dB).
|
||||
bus <index> eq <band> type Get or set the type of the EQ band (lcut, lshv, peq, veq, hshv, hcut).
|
||||
bus <index> comp on Get or set the compressor on/off state of the bus.
|
||||
bus <index> comp mode Get or set the compressor mode of the bus (comp, exp).
|
||||
bus <index> comp threshold Get or set the compressor threshold of the bus (in dB).
|
||||
bus <index> comp ratio Get or set the compressor ratio of the bus.
|
||||
bus <index> comp mix Get or set the compressor mix level of the bus
|
||||
(in %).
|
||||
bus <index> comp makeup Get or set the compressor makeup gain of the bus
|
||||
(in dB).
|
||||
bus <index> comp attack Get or set the compressor attack time of the bus
|
||||
(in ms).
|
||||
bus <index> comp hold Get or set the compressor hold time of the bus
|
||||
(in ms).
|
||||
bus <index> comp release Get or set the compressor release time of the
|
||||
bus (in ms).
|
||||
bus <index> comp mix Get or set the compressor mix level of the bus (in %).
|
||||
bus <index> comp makeup Get or set the compressor makeup gain of the bus (in dB).
|
||||
bus <index> comp attack Get or set the compressor attack time of the bus (in ms).
|
||||
bus <index> comp hold Get or set the compressor hold time of the bus (in ms).
|
||||
bus <index> comp release Get or set the compressor release time of the bus (in ms).
|
||||
|
||||
Headamp
|
||||
headamp <index> gain Get or set the gain of the headamp.
|
||||
@@ -126,4 +104,5 @@ DCA
|
||||
dca <index> name Get or set the name of the DCA group.
|
||||
|
||||
Run "xair-cli <command> --help" for more information on a command.
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user