public void TestInputTalkbackGain() { var handler = CommandGenerator.CreateAutoCommandHandler <FairlightMixerMonitorSetCommand, FairlightMixerMonitorGetCommand>("InputTalkbackGain"); bool tested = false; AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.FairlightMain, helper => { var monitor = GetMonitor(helper); if (monitor == null) { return; } tested = true; AtemState stateBefore = helper.Helper.BuildLibState(); FairlightAudioState.MonitorOutputState monState = stateBefore.Fairlight.Monitors.Single(); for (int i = 0; i < 5; i++) { var target = Randomiser.Range(-60, 0); monState.InputTalkbackGain = target; helper.SendAndWaitForChange(stateBefore, () => { monitor.SetInputTalkbackGain(target); }); } }); Assert.True(tested); }
private static FairlightAudioState.MonitorOutputState BuildMonitor(IBMDSwitcherFairlightAudioHeadphoneOutput props) { var state = new FairlightAudioState.MonitorOutputState(); props.GetGain(out double gain); state.Gain = gain; props.GetInputMasterOutGain(out double pgmGain); state.InputMasterGain = pgmGain; props.GetInputTalkbackGain(out double tbGain); state.InputTalkbackGain = tbGain; props.GetInputSidetoneGain(out double sidetoneGain); state.InputSidetoneGain = sidetoneGain; return(state); }