Validate methods should satisfy the interface Validate() error. This commit fixes that bug.

This commit is contained in:
onyx-and-iris 2026-02-10 01:17:35 +00:00
parent cf470181a1
commit 8f32f887a0
8 changed files with 42 additions and 25 deletions

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// BusCmdGroup defines the commands related to controlling the buses of the X-Air device. // BusCmdGroup defines the commands related to controlling the buses of the X-Air device.
@ -183,7 +181,11 @@ type BusEqCmdGroup struct {
} }
// Validate checks that the provided EQ band number is within the valid range (1-6). // Validate checks that the provided EQ band number is within the valid range (1-6).
func (cmd *BusEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *BusEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 6 { if cmd.Band.Band < 1 || cmd.Band.Band > 6 {
return fmt.Errorf("EQ band number must be between 1 and 6") return fmt.Errorf("EQ band number must be between 1 and 6")
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// 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. // 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.
@ -146,7 +144,11 @@ type MainEqCmdGroup struct {
} }
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Main L/R output. // Validate checks if the provided EQ band number is within the valid range (1-6) for the Main L/R output.
func (cmd *MainEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *MainEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 6 { if cmd.Band.Band < 1 || cmd.Band.Band > 6 {
return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band) return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band)
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// MainMonoCmdGroup defines the command group for controlling the Main Mono output, including commands for mute state, fader level, and fade-in/fade-out times. // MainMonoCmdGroup defines the command group for controlling the Main Mono output, including commands for mute state, fader level, and fade-in/fade-out times.
@ -146,7 +144,11 @@ type MainMonoEqCmdGroup struct {
} }
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Main Mono output. // Validate checks if the provided EQ band number is within the valid range (1-6) for the Main Mono output.
func (cmd *MainMonoEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *MainMonoEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 6 { if cmd.Band.Band < 1 || cmd.Band.Band > 6 {
return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band) return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band)
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// MatrixCmdGroup defines the command group for controlling the Matrix outputs, including commands for mute state, fader level, and fade-in/fade-out times. // MatrixCmdGroup defines the command group for controlling the Matrix outputs, including commands for mute state, fader level, and fade-in/fade-out times.
@ -22,7 +20,7 @@ type MatrixCmdGroup struct {
} `help:"Commands for controlling individual Matrix outputs." arg:""` } `help:"Commands for controlling individual Matrix outputs." arg:""`
} }
func (cmd *MatrixCmdGroup) Validate(ctx kong.Context) error { func (cmd *MatrixCmdGroup) Validate() error {
if cmd.Index.Index < 1 || cmd.Index.Index > 6 { if cmd.Index.Index < 1 || cmd.Index.Index > 6 {
return fmt.Errorf("invalid Matrix output index: %d. Valid range is 1-6", cmd.Index.Index) return fmt.Errorf("invalid Matrix output index: %d. Valid range is 1-6", cmd.Index.Index)
} }
@ -156,7 +154,11 @@ type MatrixEqCmdGroup struct {
} }
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Matrix output. // Validate checks if the provided EQ band number is within the valid range (1-6) for the Matrix output.
func (cmd *MatrixEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *MatrixEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 6 { if cmd.Band.Band < 1 || cmd.Band.Band > 6 {
return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band) return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band)
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// StripCmdGroup defines the command group for controlling the strips of the mixer, including commands for getting and setting various parameters such as mute state, fader level, send levels, and EQ settings. // StripCmdGroup defines the command group for controlling the strips of the mixer, including commands for getting and setting various parameters such as mute state, fader level, send levels, and EQ settings.
@ -374,7 +372,11 @@ type StripEqCmdGroup struct {
} }
// Validate checks if the provided EQ band number is valid (between 1 and 4) and returns an error if it is not. // Validate checks if the provided EQ band number is valid (between 1 and 4) and returns an error if it is not.
func (cmd *StripEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *StripEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 4 { if cmd.Band.Band < 1 || cmd.Band.Band > 4 {
return fmt.Errorf("EQ band number must be between 1 and 4") return fmt.Errorf("EQ band number must be between 1 and 4")
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// BusCmdGroup defines the commands related to controlling the buses of the X-Air device. // BusCmdGroup defines the commands related to controlling the buses of the X-Air device.
@ -183,7 +181,12 @@ type BusEqCmdGroup struct {
} }
// Validate checks that the provided EQ band number is within the valid range (1-6). // Validate checks that the provided EQ band number is within the valid range (1-6).
func (cmd *BusEqCmdGroup) Validate(ctx kong.Context) error { // Only validates when a band number is actually specified (non-zero).
func (cmd *BusEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 6 { if cmd.Band.Band < 1 || cmd.Band.Band > 6 {
return fmt.Errorf("EQ band number must be between 1 and 6") return fmt.Errorf("EQ band number must be between 1 and 6")
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// 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. // 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.
@ -146,7 +144,11 @@ type MainEqCmdGroup struct {
} }
// Validate checks if the provided EQ band number is within the valid range (1-6) for the Main L/R output. // Validate checks if the provided EQ band number is within the valid range (1-6) for the Main L/R output.
func (cmd *MainEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *MainEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 6 { if cmd.Band.Band < 1 || cmd.Band.Band > 6 {
return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band) return fmt.Errorf("invalid EQ band number: %d. Valid range is 1-6", cmd.Band.Band)
} }

View File

@ -3,8 +3,6 @@ package main
import ( import (
"fmt" "fmt"
"time" "time"
"github.com/alecthomas/kong"
) )
// StripCmdGroup defines the command group for controlling the strips of the mixer, including commands for getting and setting various parameters such as mute state, fader level, send levels, and EQ settings. // StripCmdGroup defines the command group for controlling the strips of the mixer, including commands for getting and setting various parameters such as mute state, fader level, send levels, and EQ settings.
@ -374,7 +372,11 @@ type StripEqCmdGroup struct {
} }
// Validate checks if the provided EQ band number is valid (between 1 and 4) and returns an error if it is not. // Validate checks if the provided EQ band number is valid (between 1 and 4) and returns an error if it is not.
func (cmd *StripEqCmdGroup) Validate(ctx kong.Context) error { func (cmd *StripEqCmdGroup) Validate() error {
if cmd.Band.Band == 0 {
return nil
}
if cmd.Band.Band < 1 || cmd.Band.Band > 4 { if cmd.Band.Band < 1 || cmd.Band.Band > 4 {
return fmt.Errorf("EQ band number must be between 1 and 4") return fmt.Errorf("EQ band number must be between 1 and 4")
} }