mirror of
https://github.com/onyx-and-iris/xair-cli.git
synced 2026-04-09 02:13:35 +00:00
DRY up the factory methods
use optional functions to set address functions
This commit is contained in:
@@ -11,21 +11,29 @@ type Main struct {
|
||||
|
||||
// newMainStereo creates a new Main instance for stereo main output
|
||||
func newMainStereo(c *Client) *Main {
|
||||
addressFunc := func(fmtString string, args ...any) string {
|
||||
return fmtString
|
||||
}
|
||||
|
||||
return &Main{
|
||||
client: c,
|
||||
baseAddress: c.addressMap["main"],
|
||||
Eq: newEqForMain(c, c.addressMap["main"]),
|
||||
Comp: newCompForMain(c, c.addressMap["main"]),
|
||||
Eq: newEq(c, c.addressMap["main"], WithEqAddressFunc(addressFunc)),
|
||||
Comp: newComp(c, c.addressMap["main"], WithCompAddressFunc(addressFunc)),
|
||||
}
|
||||
}
|
||||
|
||||
// newMainMono creates a new MainMono instance for mono main output (X32 only)
|
||||
func newMainMono(c *Client) *Main {
|
||||
addressFunc := func(fmtString string, args ...any) string {
|
||||
return fmtString
|
||||
}
|
||||
|
||||
return &Main{
|
||||
baseAddress: c.addressMap["mainmono"],
|
||||
client: c,
|
||||
Eq: newEqForMain(c, c.addressMap["mainmono"]),
|
||||
Comp: newCompForMain(c, c.addressMap["mainmono"]),
|
||||
Eq: newEq(c, c.addressMap["mainmono"], WithEqAddressFunc(addressFunc)),
|
||||
Comp: newComp(c, c.addressMap["mainmono"], WithCompAddressFunc(addressFunc)),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user