From 5af62715ae6c808ec52c46932bd533b356d72f2c Mon Sep 17 00:00:00 2001 From: onyx-and-iris <75868496+onyx-and-iris@users.noreply.github.com> Date: Sat, 25 Jun 2022 04:01:19 +0100 Subject: [PATCH] outputs interface/type added. outputs types embedded into strip type --- voicemeeter/outputs.go | 109 +++++++++++++++++++++++++++++++++++++++++ voicemeeter/strip.go | 8 ++- 2 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 voicemeeter/outputs.go diff --git a/voicemeeter/outputs.go b/voicemeeter/outputs.go new file mode 100644 index 0000000..c8fded0 --- /dev/null +++ b/voicemeeter/outputs.go @@ -0,0 +1,109 @@ +package voicemeeter + +type t_outputs interface { + GetA1() bool + SetA1(val bool) + GetA2() bool + SetA2(val bool) + GetA3() bool + SetA3(val bool) + GetA4() bool + SetA4(val bool) + GetA5() bool + SetA5(val bool) + GetB1() bool + SetB1(val bool) + GetB2() bool + SetB2(val bool) + GetB3() bool + SetB3(val bool) +} + +type outputs struct { + iRemote +} + +func newOutputs(id string, i int) outputs { + o := outputs{iRemote{id, i}} + return o +} + +// GetA1 returns the value of the A1 parameter +func (o *outputs) GetA1() bool { + return o.getter_bool("A1") +} + +// SetA1 sets the value of the A1 parameter +func (o *outputs) SetA1(val bool) { + o.setter_bool("A1", val) +} + +// GetA2 returns the value of the A2 parameter +func (o *outputs) GetA2() bool { + return o.getter_bool("A2") +} + +// SetA2 sets the value of the A2 parameter +func (o *outputs) SetA2(val bool) { + o.setter_bool("A2", val) +} + +// GetA3 returns the value of the A3 parameter +func (o *outputs) GetA3() bool { + return o.getter_bool("A3") +} + +// SetA3 sets the value of the A3 parameter +func (o *outputs) SetA3(val bool) { + o.setter_bool("A3", val) +} + +// GetA4 returns the value of the A4 parameter +func (o *outputs) GetA4() bool { + return o.getter_bool("A4") +} + +// SetA4 sets the value of the A4 parameter +func (o *outputs) SetA4(val bool) { + o.setter_bool("A4", val) +} + +// GetA5 returns the value of the A5 parameter +func (o *outputs) GetA5() bool { + return o.getter_bool("A5") +} + +// SetA5 sets the value of the A5 parameter +func (o *outputs) SetA5(val bool) { + o.setter_bool("A5", val) +} + +// GetB1 returns the value of the B1 parameter +func (o *outputs) GetB1() bool { + return o.getter_bool("B1") +} + +// SetB1 sets the value of the B1 parameter +func (o *outputs) SetB1(val bool) { + o.setter_bool("B1", val) +} + +// GetB2 returns the value of the B2 parameter +func (o *outputs) GetB2() bool { + return o.getter_bool("B2") +} + +// SetB2 sets the value of the B2 parameter +func (o *outputs) SetB2(val bool) { + o.setter_bool("B2", val) +} + +// GetB3 returns the value of the B3 parameter +func (o *outputs) GetB3() bool { + return o.getter_bool("B3") +} + +// SetB3 sets the value of the B3 parameter +func (o *outputs) SetB3(val bool) { + o.setter_bool("B3", val) +} diff --git a/voicemeeter/strip.go b/voicemeeter/strip.go index 12ca860..a859b87 100644 --- a/voicemeeter/strip.go +++ b/voicemeeter/strip.go @@ -26,12 +26,14 @@ type t_strip interface { SetGate(val bool) GetAudibility() bool SetAudibility(val bool) + t_outputs } // strip represents a strip channel // embeds channel struct type strip struct { iRemote + outputs } // GetMute returns the value of the Mute parameter @@ -99,7 +101,8 @@ type physicalStrip struct { } func newPhysicalStrip(i int) t_strip { - ps := physicalStrip{strip{iRemote{"strip", i}}} + o := newOutputs("strip", i) + ps := physicalStrip{strip{iRemote{"strip", i}, o}} return t_strip(&ps) } @@ -153,7 +156,8 @@ type virtualStrip struct { } func newVirtualStrip(i int) t_strip { - vs := virtualStrip{strip{iRemote{"strip", i}}} + o := newOutputs("strip", i) + vs := virtualStrip{strip{iRemote{"strip", i}, o}} return t_strip(&vs) }