From 6ec3c5538362142c0ff47eae8d7a67e921506108 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Fri, 27 Mar 2026 13:23:46 +0000 Subject: [PATCH] improve consistency of tags --- cmd/x32-cli/cli.go | 22 +++++++------- cmd/x32-cli/dca.go | 4 +-- cmd/x32-cli/headamp.go | 6 ++-- cmd/x32-cli/main.go | 42 +++++++++++++-------------- cmd/x32-cli/mainmono.go | 38 ++++++++++++------------ cmd/x32-cli/matrix.go | 44 ++++++++++++++-------------- cmd/x32-cli/raw.go | 4 +-- cmd/x32-cli/snapshot.go | 12 ++++---- cmd/x32-cli/strip.go | 62 ++++++++++++++++++++-------------------- cmd/xair-cli/bus.go | 46 ++++++++++++++--------------- cmd/xair-cli/cli.go | 18 ++++++------ cmd/xair-cli/dca.go | 4 +-- cmd/xair-cli/headamp.go | 10 +++---- cmd/xair-cli/main.go | 42 +++++++++++++-------------- cmd/xair-cli/raw.go | 4 +-- cmd/xair-cli/snapshot.go | 12 ++++---- cmd/xair-cli/strip.go | 62 ++++++++++++++++++++-------------------- 17 files changed, 216 insertions(+), 216 deletions(-) diff --git a/cmd/x32-cli/cli.go b/cmd/x32-cli/cli.go index 4cc9f7b..226998f 100644 --- a/cmd/x32-cli/cli.go +++ b/cmd/x32-cli/cli.go @@ -54,18 +54,18 @@ type CLI struct { 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() { diff --git a/cmd/x32-cli/dca.go b/cmd/x32-cli/dca.go index 5d00e0b..f4d6ba5 100644 --- a/cmd/x32-cli/dca.go +++ b/cmd/x32-cli/dca.go @@ -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."` } diff --git a/cmd/x32-cli/headamp.go b/cmd/x32-cli/headamp.go index 8ea19e1..401b6ee 100644 --- a/cmd/x32-cli/headamp.go +++ b/cmd/x32-cli/headamp.go @@ -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". diff --git a/cmd/x32-cli/main.go b/cmd/x32-cli/main.go index 52ada99..49118a1 100644 --- a/cmd/x32-cli/main.go +++ b/cmd/x32-cli/main.go @@ -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". diff --git a/cmd/x32-cli/mainmono.go b/cmd/x32-cli/mainmono.go index 2e8646b..43ddc74 100644 --- a/cmd/x32-cli/mainmono.go +++ b/cmd/x32-cli/mainmono.go @@ -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". diff --git a/cmd/x32-cli/matrix.go b/cmd/x32-cli/matrix.go index edf2884..c660820 100644 --- a/cmd/x32-cli/matrix.go +++ b/cmd/x32-cli/matrix.go @@ -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". diff --git a/cmd/x32-cli/raw.go b/cmd/x32-cli/raw.go index bdb6309..5cb2f99 100644 --- a/cmd/x32-cli/raw.go +++ b/cmd/x32-cli/raw.go @@ -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. diff --git a/cmd/x32-cli/snapshot.go b/cmd/x32-cli/snapshot.go index 5bfa022..f8257b7 100644 --- a/cmd/x32-cli/snapshot.go +++ b/cmd/x32-cli/snapshot.go @@ -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. diff --git a/cmd/x32-cli/strip.go b/cmd/x32-cli/strip.go index 18c8198..e5d8bcc 100644 --- a/cmd/x32-cli/strip.go +++ b/cmd/x32-cli/strip.go @@ -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. diff --git a/cmd/xair-cli/bus.go b/cmd/xair-cli/bus.go index e0edef8..798a1e6 100644 --- a/cmd/xair-cli/bus.go +++ b/cmd/xair-cli/bus.go @@ -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. diff --git a/cmd/xair-cli/cli.go b/cmd/xair-cli/cli.go index e807a7a..19744c9 100644 --- a/cmd/xair-cli/cli.go +++ b/cmd/xair-cli/cli.go @@ -54,16 +54,16 @@ type CLI struct { 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() { diff --git a/cmd/xair-cli/dca.go b/cmd/xair-cli/dca.go index df0342e..abe4bc7 100644 --- a/cmd/xair-cli/dca.go +++ b/cmd/xair-cli/dca.go @@ -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."` } diff --git a/cmd/xair-cli/headamp.go b/cmd/xair-cli/headamp.go index 8ea19e1..43bec9f 100644 --- a/cmd/xair-cli/headamp.go +++ b/cmd/xair-cli/headamp.go @@ -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". diff --git a/cmd/xair-cli/main.go b/cmd/xair-cli/main.go index 6aac14f..c627763 100644 --- a/cmd/xair-cli/main.go +++ b/cmd/xair-cli/main.go @@ -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". diff --git a/cmd/xair-cli/raw.go b/cmd/xair-cli/raw.go index bdb6309..5cb2f99 100644 --- a/cmd/xair-cli/raw.go +++ b/cmd/xair-cli/raw.go @@ -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. diff --git a/cmd/xair-cli/snapshot.go b/cmd/xair-cli/snapshot.go index f854da5..a0e003e 100644 --- a/cmd/xair-cli/snapshot.go +++ b/cmd/xair-cli/snapshot.go @@ -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. diff --git a/cmd/xair-cli/strip.go b/cmd/xair-cli/strip.go index 39979fd..b802d97 100644 --- a/cmd/xair-cli/strip.go +++ b/cmd/xair-cli/strip.go @@ -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.