private static IBMDSwitcherFairlightAudioLimiter GetLimiter(IBMDSwitcherFairlightAudioSource src) { IBMDSwitcherFairlightAudioDynamicsProcessor dynamics = TestFairlightInputSource.GetDynamics(src); var limiter = AtemSDKConverter.CastSdk <IBMDSwitcherFairlightAudioLimiter>(dynamics.GetProcessor); Assert.NotNull(limiter); return(limiter); }
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); }); }); }); }