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