public void TestSolo() { var handler = CommandGenerator.CreateAutoCommandHandler <AudioMixerMonitorSetCommand, AudioMixerMonitorGetCommand>("Solo"); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.ClassicAudioMonitors, helper => { IBMDSwitcherAudioMonitorOutput monitor = GetMonitor(helper); AtemState stateBefore = helper.Helper.BuildLibState(); AudioState.MonitorOutputState monState = stateBefore.Audio.MonitorOutputs.Single(); for (int i = 0; i < 5; i++) { bool target = i % 2 == 0; monState.Solo = target; helper.SendAndWaitForChange(stateBefore, () => { monitor.SetSolo(target ? 1 : 0); }); } }); }
public void TestDimLevel() { var handler = CommandGenerator.CreateAutoCommandHandler <AudioMixerMonitorSetCommand, AudioMixerMonitorGetCommand>("DimLevel"); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.ClassicAudioMonitors, helper => { IBMDSwitcherAudioMonitorOutput monitor = GetMonitor(helper); AtemState stateBefore = helper.Helper.BuildLibState(); AudioState.MonitorOutputState monState = stateBefore.Audio.MonitorOutputs.Single(); for (int i = 0; i < 5; i++) { uint target = Randomiser.RangeInt(100); monState.DimLevel = target; helper.SendAndWaitForChange(stateBefore, () => { monitor.SetDimLevel(target / 100d); }); } }); }
private static AudioState.MonitorOutputState BuildMonitor(IBMDSwitcherAudioMonitorOutput props) { var state = new AudioState.MonitorOutputState(); props.GetMonitorEnable(out int enable); state.Enabled = enable != 0; props.GetGain(out double gain); state.Gain = gain; props.GetMute(out int mute); state.Mute = mute != 0; props.GetSolo(out int solo); state.Solo = solo != 0; props.GetSoloInput(out long soloInput); state.SoloSource = (AudioSource)soloInput; props.GetDim(out int dim); state.Dim = dim != 0; props.GetDimLevel(out double dimLevel); state.DimLevel = (uint)(dimLevel * 100); return(state); }