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); });
                });
            });
        }
コード例 #4
0
        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); });
                });
            });
        }
コード例 #6
0
        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); });
                });
            });
        }