Exemple #1
0
        static void Main(string[] args)
        {
            // Create switcher discovery object
            IBMDSwitcherDiscovery discovery = new CBMDSwitcherDiscovery();

            // Connect to switcher
            IBMDSwitcher switcher;
            _BMDSwitcherConnectToFailure failureReason;

            discovery.ConnectTo("192.168.10.240", out switcher, out failureReason);
            Console.WriteLine("Connected to switcher");

            var atem = new AtemSwitcher(switcher);

            // Get reference to various objects
            IBMDSwitcherMixEffectBlock           me0 = atem.MixEffectBlocks.First();
            IBMDSwitcherTransitionParameters     me0TransitionParams     = me0 as IBMDSwitcherTransitionParameters;
            IBMDSwitcherTransitionWipeParameters me0WipeTransitionParams = me0 as IBMDSwitcherTransitionWipeParameters;
            IBMDSwitcherInput input4 = atem.SwitcherInputs
                                       .Where((i, ret) => {
                _BMDSwitcherPortType type;
                i.GetPortType(out type);
                return(type == _BMDSwitcherPortType.bmdSwitcherPortTypeExternal);
            })
                                       .ElementAt(4);

            // Setup the transition
            Console.WriteLine("Setting preview input");
            me0.SetPreviewInput(GetInputId(input4));

            Console.WriteLine("Setting next transition selection");
            me0TransitionParams.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionBackground);

            Console.WriteLine("Setting next transition style");
            me0TransitionParams.SetNextTransitionStyle(_BMDSwitcherTransitionStyle.bmdSwitcherTransitionStyleWipe);

            Console.WriteLine("Setting transition style");
            me0WipeTransitionParams.SetPattern(_BMDSwitcherPatternStyle.bmdSwitcherPatternStyleRectangleIris);

            Console.WriteLine("Setting transition rate");
            me0WipeTransitionParams.SetRate(60);

            // Perform the transition
            Console.WriteLine("Performing auto transition");
            me0.PerformAutoTransition();
            System.Threading.Thread.Sleep(2000);
            System.Threading.Thread.Sleep(1000);
            me0.PerformAutoTransition();

            Console.Write("Press ENTER to exit...");
            Console.ReadLine();
        }
Exemple #2
0
        private void keyWordsBut_Click(object sender, RoutedEventArgs e)
        {
            if (currentKey == -1)
            {
                m_transition = (BMDSwitcherAPI.IBMDSwitcherTransitionParameters)m_mixEffectBlock1;
                _BMDSwitcherTransitionSelection transitionselection;
                m_transition.GetNextTransitionSelection(out transitionselection);
                string stringtransitionselection = transitionselection.ToString();
                m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionKey4);
                if (m_mixEffectBlock1 != null)
                {
                    m_mixEffectBlock1.PerformAutoTransition();
                }
                if (stringtransitionselection != "bmdSwitcherTransitionSelectionBackground")
                {
                    m_transition.GetNextTransitionStyle(out existing_style);
                    m_transition.SetNextTransitionStyle(_BMDSwitcherTransitionStyle.bmdSwitcherTransitionStyleMix);
                    m_mixEffectBlock1.PerformAutoTransition();
                }
                m_mixEffectBlock1.SetInt(_BMDSwitcherMixEffectBlockPropertyId.bmdSwitcherMixEffectBlockPropertyIdPreviewInput,
                                         currentPreview);

                System.Threading.Thread.Sleep(100);
                m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionBackground);
                currentKey    = 4;
                currentkeyBut = keyWordsBut;
            }
            else
            {
                keyWordsBut.IsChecked   = false;
                currentkeyBut.IsChecked = true;
                if (currentKey == 4)
                {
                    keyWordsBut.IsChecked = true;
                }
            }
        }
Exemple #3
0
        private void keyClearBut_Click(object sender, RoutedEventArgs e)
        {
            if (currentKey != -1)
            {
                keyFullBut.IsChecked = false;
                m_transition         = (BMDSwitcherAPI.IBMDSwitcherTransitionParameters)m_mixEffectBlock1;
                _BMDSwitcherTransitionSelection transitionselection;
                m_transition.GetNextTransitionSelection(out transitionselection);
                string stringtransitionselection = transitionselection.ToString();

                switch (currentKey)
                {
                case 1:
                    m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionBackground + 1);
                    keyGreenScreenBut.IsChecked = false;

                    break;

                case 2:
                    m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionKey2);
                    keyLeftBut.IsChecked = false;
                    break;

                case 3:
                    m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionKey3);
                    keyRightBut.IsChecked = false;
                    break;

                case 4:
                    m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionKey4);
                    keyWordsBut.IsChecked = false;
                    break;
                }



                if (m_mixEffectBlock1 != null)
                {
                    m_mixEffectBlock1.PerformAutoTransition();
                }
                if (stringtransitionselection != "bmdSwitcherTransitionSelectionBackground")
                {
                    m_transition.GetNextTransitionStyle(out existing_style);
                    m_transition.SetNextTransitionStyle(_BMDSwitcherTransitionStyle.bmdSwitcherTransitionStyleMix);
                    m_mixEffectBlock1.PerformAutoTransition();
                }



                if (currentKey == 6)
                {
                    if (currentKey == 6)
                    {
                        Console.WriteLine(currentPreview + " " + currentProgram);
                        switch (currentPreview)
                        {
                        case 2:
                            currentPreview = 3;


                            break;

                        case 3:
                            currentPreview = 2;


                            break;
                        }
                        System.Threading.Thread.Sleep(300);
                        m_mixEffectBlock1.SetInt(_BMDSwitcherMixEffectBlockPropertyId.bmdSwitcherMixEffectBlockPropertyIdPreviewInput,
                                                 currentPreview);
                    }
                }
                else
                {
                    m_mixEffectBlock1.SetInt(_BMDSwitcherMixEffectBlockPropertyId.bmdSwitcherMixEffectBlockPropertyIdPreviewInput,
                                             currentPreview);
                    System.Threading.Thread.Sleep(100);
                    m_transition.SetNextTransitionSelection(_BMDSwitcherTransitionSelection.bmdSwitcherTransitionSelectionBackground);
                }

                currentKey = -1;
                //System.Threading.Thread.Sleep(200);
                //m_mixEffectBlock1.GetInt(_BMDSwitcherMixEffectBlockPropertyId.bmdSwitcherMixEffectBlockPropertyIdPreviewInput, out currentPreview);
                //setCurrent Program ID
                //m_mixEffectBlock1.GetInt(_BMDSwitcherMixEffectBlockPropertyId.bmdSwitcherMixEffectBlockPropertyIdProgramInput, out currentProgram);
                //updateProgPrevUI(currentPreview, false);
                //updateProgPrevUI(currentProgram, true);
            }
        }