82 lines
2.9 KiB
C#
82 lines
2.9 KiB
C#
using Voicemeeter;
|
|
|
|
namespace HidSliders.Gui;
|
|
|
|
public class ChannelControlCollection
|
|
{
|
|
public NumericUpDown ChannelSelector { get; }
|
|
public TrackBar TrackBar { get; }
|
|
public CheckBox BusA1Checkbox { get; }
|
|
public CheckBox BusA2Checkbox { get; }
|
|
public CheckBox BusA3Checkbox { get; }
|
|
public CheckBox BusA4Checkbox { get; }
|
|
public CheckBox BusA5Checkbox { get; }
|
|
public CheckBox BusB1Checkbox { get; }
|
|
public CheckBox BusB2Checkbox { get; }
|
|
public CheckBox BusB3Checkbox { get; }
|
|
public CheckBox SoloCheckBox { get; }
|
|
public CheckBox MuteCheckBox { get; }
|
|
public Label IndicatorLabel { get; }
|
|
public int CurrentStrip => (int)ChannelSelector.Value;
|
|
|
|
public ChannelControlCollection(NumericUpDown channelSelector, TrackBar trackBar, CheckBox busA1Checkbox, CheckBox busA2Checkbox, CheckBox busA3Checkbox, CheckBox busA4Checkbox, CheckBox busA5Checkbox, CheckBox busB1Checkbox, CheckBox busB2Checkbox, CheckBox busB3Checkbox, CheckBox soloCheckBox, CheckBox muteCheckBox, Label indicatorLabel)
|
|
{
|
|
ChannelSelector = channelSelector;
|
|
TrackBar = trackBar;
|
|
BusA1Checkbox = busA1Checkbox;
|
|
BusA1Checkbox.Tag = VMBus.A1;
|
|
BusA2Checkbox = busA2Checkbox;
|
|
BusA2Checkbox.Tag = VMBus.A2;
|
|
BusA3Checkbox = busA3Checkbox;
|
|
BusA3Checkbox.Tag = VMBus.A3;
|
|
BusA4Checkbox = busA4Checkbox;
|
|
BusA4Checkbox.Tag = VMBus.A4;
|
|
BusA5Checkbox = busA5Checkbox;
|
|
BusA5Checkbox.Tag = VMBus.A5;
|
|
BusB1Checkbox = busB1Checkbox;
|
|
BusB1Checkbox.Tag = VMBus.B1;
|
|
BusB2Checkbox = busB2Checkbox;
|
|
BusB2Checkbox.Tag = VMBus.B2;
|
|
BusB3Checkbox = busB3Checkbox;
|
|
BusB3Checkbox.Tag = VMBus.B3;
|
|
SoloCheckBox = soloCheckBox;
|
|
MuteCheckBox = muteCheckBox;
|
|
IndicatorLabel = indicatorLabel;
|
|
}
|
|
|
|
public void EnableBusses(RunVoicemeeterParam version)
|
|
{
|
|
BusA1Checkbox.Enabled = true;
|
|
BusB1Checkbox.Enabled = true;
|
|
|
|
if (version > RunVoicemeeterParam.Voicemeeter)
|
|
{
|
|
BusA2Checkbox.Enabled = true;
|
|
BusA3Checkbox.Enabled = true;
|
|
BusB2Checkbox.Enabled = true;
|
|
}
|
|
|
|
if (version > RunVoicemeeterParam.VoicemeeterBanana)
|
|
{
|
|
BusA4Checkbox.Enabled = true;
|
|
BusA5Checkbox.Enabled = true;
|
|
BusB3Checkbox.Enabled = true;
|
|
}
|
|
}
|
|
|
|
public bool OwnsControl(Control control)
|
|
{
|
|
return control == ChannelSelector ||
|
|
control == TrackBar ||
|
|
control == BusA1Checkbox ||
|
|
control == BusA2Checkbox ||
|
|
control == BusA3Checkbox ||
|
|
control == BusA4Checkbox ||
|
|
control == BusA5Checkbox ||
|
|
control == BusB1Checkbox ||
|
|
control == BusB2Checkbox ||
|
|
control == BusB3Checkbox ||
|
|
control == SoloCheckBox ||
|
|
control == MuteCheckBox;
|
|
}
|
|
} |