public void TestReset() { var target = new FairlightMixerSourceDynamicsResetCommand() { Expander = true }; var handler = CommandGenerator.MatchCommand(target); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.FairlightMain, helper => { TestFairlightInputSource.EachRandomSource(helper, (stateBefore, srcState, inputId, src, i) => { IBMDSwitcherFairlightAudioExpander expander = GetExpander(src); target.Index = (AudioSource)inputId; target.SourceId = srcState.SourceId; uint timeBefore = helper.Server.CurrentTime; helper.SendAndWaitForChange(null, () => { expander.Reset(); }); // It should have sent a response, but we dont expect any comparable data Assert.NotEqual(timeBefore, helper.Server.CurrentTime); }, 1); }); }
public void TestGateEnabled() { var handler = CommandGenerator.CreateAutoCommandHandler <FairlightMixerSourceExpanderSetCommand, FairlightMixerSourceExpanderGetCommand>("GateEnabled"); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.FairlightMain, helper => { TestFairlightInputSource.EachRandomSource(helper, (stateBefore, srcState, inputId, src, i) => { IBMDSwitcherFairlightAudioExpander expander = GetExpander(src); srcState.Dynamics.Expander.GateEnabled = i % 2 > 0; helper.SendAndWaitForChange(stateBefore, () => { expander.SetGateMode(i % 2); }); }); }); }
public void TestAttack() { var handler = CommandGenerator.CreateAutoCommandHandler <FairlightMixerSourceExpanderSetCommand, FairlightMixerSourceExpanderGetCommand>("Attack"); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.FairlightMain, helper => { TestFairlightInputSource.EachRandomSource(helper, (stateBefore, srcState, inputId, src, i) => { IBMDSwitcherFairlightAudioExpander expander = GetExpander(src); var target = Randomiser.Range(0.7, 30); srcState.Dynamics.Expander.Attack = target; helper.SendAndWaitForChange(stateBefore, () => { expander.SetAttack(target); }); }); }); }
private static void ForSampleOfBands(AtemMockServerWrapper helper, Action <AtemState, FairlightAudioState.EqualizerBandState, IBMDSwitcherFairlightAudioEqualizerBand, long, long, uint> func) { TestFairlightInputSource.EachRandomSource(helper, (stateBefore, srcState, inputId, src, i) => { IBMDSwitcherFairlightAudioEqualizer equalizer = GetEqualizer(src); var bands = GetSampleOfBands(equalizer); Assert.NotEmpty(bands); foreach (Tuple <IBMDSwitcherFairlightAudioEqualizerBand, uint> bandT in bands) { uint index = bandT.Item2; IBMDSwitcherFairlightAudioEqualizerBand band = bandT.Item1; func(stateBefore, srcState.Equalizer.Bands[(int)index], band, inputId, srcState.SourceId, index); } }, 1); }
public void TestHold() { var handler = CommandGenerator .CreateAutoCommandHandler <FairlightMixerSourceLimiterSetCommand, FairlightMixerSourceLimiterGetCommand>("Hold"); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.FairlightMain, helper => { TestFairlightInputSource.EachRandomSource(helper, (stateBefore, srcState, inputId, src, i) => { IBMDSwitcherFairlightAudioLimiter limiter = GetLimiter(src); var target = Randomiser.Range(0, 4000); srcState.Dynamics.Limiter.Hold = target; helper.SendAndWaitForChange(stateBefore, () => { limiter.SetHold(target); }); }); }); }
public void TestRatio() { var handler = CommandGenerator .CreateAutoCommandHandler <FairlightMixerSourceCompressorSetCommand, FairlightMixerSourceCompressorGetCommand>("Ratio"); AtemMockServerWrapper.Each(_output, _pool, handler, DeviceTestCases.FairlightMain, helper => { TestFairlightInputSource.EachRandomSource(helper, (stateBefore, srcState, inputId, src, i) => { IBMDSwitcherFairlightAudioCompressor compressor = GetCompressor(src); var target = Randomiser.Range(1.2, 20); srcState.Dynamics.Compressor.Ratio = target; helper.SendAndWaitForChange(stateBefore, () => { compressor.SetRatio(target); }); }); }); }