示例#1
0
        public void DoKeys()
        {
            var keyer = AtemMini.GetMixEffectBlocks().First().Keys.First();

            Assert.IsNotNull(keyer);

            keyer.FlyParameters.Switcher.RunToKeyFrame(BMDSwitcherAPI._BMDSwitcherFlyKeyFrame.bmdSwitcherFlyKeyFrameA);

            Thread.Sleep(2000);

            keyer.FlyParameters.Switcher.RunToKeyFrame(BMDSwitcherAPI._BMDSwitcherFlyKeyFrame.bmdSwitcherFlyKeyFrameFull);

            Thread.Sleep(2000);

            keyer.FlyParameters.Switcher.RunToKeyFrame(BMDSwitcherAPI._BMDSwitcherFlyKeyFrame.bmdSwitcherFlyKeyFrameB);

            Thread.Sleep(2000);

            keyer.FlyParameters.Switcher.RunToKeyFrame(BMDSwitcherAPI._BMDSwitcherFlyKeyFrame.bmdSwitcherFlyKeyFrameInfinityCentre);

            Thread.Sleep(2000);

            keyer.FlyParameters.Switcher.RunToKeyFrame(BMDSwitcherAPI._BMDSwitcherFlyKeyFrame.bmdSwitcherFlyKeyFrameB);

            Thread.Sleep(2000);

            keyer.FlyParameters.Switcher.RunToKeyFrame(BMDSwitcherAPI._BMDSwitcherFlyKeyFrame.bmdSwitcherFlyKeyFrameInfinityCentreOfKey);
        }
示例#2
0
        public void TestVideoMode()
        {
            // act
            string videoMode = AtemMini.GetVideoMode();

            // assert
            Assert.AreEqual("bmdSwitcherVideoMode1080p24", videoMode);
        }
示例#3
0
        public void CanGetFairlightAudioMixerInputs()
        {
            // act
            var result = AtemMini.GetFairlightAudioMixer().Inputs;

            // assert
            Assert.IsNotNull(result);
            Assert.GreaterOrEqual(result.Count(), 0);
        }
示例#4
0
        public void CanGetFairlightAudioMixerProperties()
        {
            // act
            var result = AtemMini.GetFairlightAudioMixer();

            // assert
            Assert.IsNotNull(result);
            Assert.GreaterOrEqual(0, result.MasterOutFaderGain);
        }
示例#5
0
        public void CanGetFairlightAudioMixerInputSources()
        {
            // act
            var result = AtemMini.GetFairlightAudioMixer().Inputs.SelectMany(c => c.Sources);

            // assert
            Assert.IsNotNull(result);
            Assert.GreaterOrEqual(result.Count(), 0);
            result.ToList().ForEach(c => { Logger.LogInformation($"{c.Input.Id}/{c.Id}=> Active: {c.IsActive},{c.MixOption},{c.InputGain},{c.FaderGain}"); });
        }
示例#6
0
        public void TestKeys()
        {
            // act
            var dk = AtemMini.GetMixEffectBlocks().First().Keys;

            // assert
            Assert.IsNotEmpty(dk);

            // info
            dk.ToList().ForEach(c => Logger.LogInformation($"{(int)c.TransitionSelectionMask}-{c.OnAir}"));
        }
示例#7
0
        public void TestDownstreamKeys()
        {
            // act
            var dk = AtemMini.GetDownstreamKeys();

            // assert
            Assert.IsNotEmpty(dk);

            // info
            dk.ToList().ForEach(c => Logger.LogInformation($"{c.OnAir}"));
        }
示例#8
0
        public void TestMixEffectBlocks()
        {
            // act
            var meb = AtemMini.GetMixEffectBlocks();

            // assert
            Assert.IsNotEmpty(meb);

            // info
            meb.ToList().ForEach(c => Logger.LogInformation($"{c.ProgramInput.Name} => {c.PreviewInput.Name}"));
        }
示例#9
0
        public void TestInputs()
        {
            // act
            var inputs = AtemMini.GetInputs();

            // assert
            Assert.IsNotEmpty(inputs);

            // info
            inputs.ToList().ForEach(c => Logger.LogInformation(c.Name));
        }
示例#10
0
        public void CanGetMacrosFromSwitcher()
        {
            // arrange
            var pool = AtemMini.GetMacros();

            // act
            pool.ToList().ForEach(c => Logger.LogInformation($"Macro: {c.Id}/{c.Name}-{c.Description}"));

            // assert
            Assert.IsNotEmpty(pool);
        }
示例#11
0
        public void TestNextTransition()
        {
            // act
            var transition = AtemMini.GetMixEffectBlocks().First().GetNextTransition();

            // assert
            Assert.IsNotEmpty(transition.Keys);

            // info
            Logger.LogInformation($"{transition.IncludeBackground} => {transition.Keys}");
            transition.Keys.ToList().ForEach(c => Logger.LogInformation($"{c.Key}-{c.OnAir}"));
        }
示例#12
0
        public void TestTransition()
        {
            // arrange
            var start        = AtemMini.GetMixEffectBlocks().First();
            var startProgram = start.ProgramInput.Id;
            var startPreview = start.PreviewInput.Id;

            // act
            AtemMini.PerformAutoTransition();

            // wait for the transition to finish
            Thread.Sleep(3000);

            // assert
            var end = AtemMini.GetMixEffectBlocks().First();

            Assert.AreEqual(startProgram, end.PreviewInput.Id);
            Assert.AreEqual(startPreview, end.ProgramInput.Id);
        }