void IBMDSwitcherMixEffectBlockCallback.Notify(_BMDSwitcherMixEffectBlockEventType eventType)
        {
            switch (eventType)
            {
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
                ProgramInputChanged?.Invoke(this, null);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewInputChanged:
                PreviewInputChanged?.Invoke(this, null);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackFullyBlackChanged:
                FateToBlackFullyChanged?.Invoke(this, null);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionFramesRemainingChanged:
                TransitionFramesRemainingChanged?.Invoke(this, null);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionPositionChanged:
                TransitionPositionChanged?.Invoke(this, null);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInTransitionChanged:
                InTransitionChanged?.Invoke(this, null);
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        public void Notify(_BMDSwitcherMixEffectBlockEventType eventType)
        {
            this._switcherMixEffectBlockEventArgs = new SwitcherMixEffectBlockEventArgs();
            switch (eventType)
            {
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackFramesRemainingChanged:
                this.SwitcherMixEffectBlockEventTypeFadeToBlackFramesRemainingChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackFullyBlackChanged:
                this.SwitcherMixEffectBlockEventTypeFadeToBlackFullyBlackChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackInTransitionChanged:
                this.SwitcherMixEffectBlockEventTypeFadeToBlackInTransitionChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackRateChanged:
                this.SwitcherMixEffectBlockEventTypeFadeToBlackRateChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInFadeToBlackChanged:
                this.SwitcherMixEffectBlockEventTypeInFadeToBlackChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInputAvailabilityMaskChanged:
                this.SwitcherMixEffectBlockEventTypeInputAvailabilityMaskChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInTransitionChanged:
                this.SwitcherMixEffectBlockEventTypeInTransitionChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewInputChanged:
                this.SwitcherMixEffectBlockEventTypePreviewInputChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewLiveChanged:
                this.SwitcherMixEffectBlockEventTypePreviewLiveChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewTransitionChanged:
                this.SwitcherMixEffectBlockEventTypePreviewTransitionChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
                this.SwitcherMixEffectBlockEventTypeProgramInputChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionFramesRemainingChanged:
                this.SwitcherMixEffectBlockEventTypeTransitionFramesRemainingChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionPositionChanged:
                this.SwitcherMixEffectBlockEventTypeTransitionPositionChanged?.Invoke(this, this._switcherMixEffectBlockEventArgs);
                break;
            }
        }
Ejemplo n.º 3
0
 public void Notify(_BMDSwitcherMixEffectBlockEventType eventType)
 {
     switch (eventType)
     {
     case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
         this.switcher.updateCurrentProgramInput();
         this.switcher.CurrentProgramInputChanged?.Invoke(this, EventArgs.Empty);
         break;
     }
 }
Ejemplo n.º 4
0
        void IBMDSwitcherMixEffectBlockCallback.Notify(_BMDSwitcherMixEffectBlockEventType eventType)
        {
            switch (eventType)
            {
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
                if (ProgramInputChanged != null)
                {
                    ProgramInputChanged(this, null);
                }
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewInputChanged:
                if (PreviewInputChanged != null)
                {
                    PreviewInputChanged(this, null);
                }
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionFramesRemainingChanged:
                if (TransitionFramesRemainingChanged != null)
                {
                    TransitionFramesRemainingChanged(this, null);
                }
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionPositionChanged:
                if (TransitionPositionChanged != null)
                {
                    TransitionPositionChanged(this, null);
                }
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInTransitionChanged:
                if (InTransitionChanged != null)
                {
                    InTransitionChanged(this, null);
                }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 5
0
        public void Notify(_BMDSwitcherMixEffectBlockEventType eventType)
        {
            switch (eventType)
            {
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
                InvokeHelper.Invoke(() =>
                {
                    ApiMixEffectBlock.GetProgramInput(out long programInput);
                    ProgramSourceId = programInput;
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewInputChanged:
                InvokeHelper.Invoke(() =>
                {
                    ApiMixEffectBlock.GetPreviewInput(out long previewInput);
                    PreviewSourceId = previewInput;
                });
                break;
            }
        }
Ejemplo n.º 6
0
        public void Notify(_BMDSwitcherMixEffectBlockEventType eventType)
        {
            switch (eventType)
            {
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewInputChanged:
                _mediator.Publish(new InputChangeNotify());
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInTransitionChanged:
                _mixEffectBlock.Switcher.GetInTransition(out int inTransition);
                _mediator.Publish(new InTransitionNotify {
                    InTransition = inTransition == 1
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackFullyBlackChanged:
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInFadeToBlackChanged:
                _mixEffectBlock.Switcher.GetFadeToBlackFullyBlack(out int fullyBlack);
                _mixEffectBlock.Switcher.GetFadeToBlackInTransition(out int inFullyBlackTransition);
                _mediator.Publish(new FullyBlackNotify {
                    IsFullyBlack = fullyBlack == 1, IsInTransition = inFullyBlackTransition == 1
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionPositionChanged:
                _mixEffectBlock.Switcher.GetTransitionPosition(out double transitionPosition);
                _mixEffectBlock.Switcher.GetTransitionFramesRemaining(out uint transitionFramesRemaining);
                _mediator.Publish(new TransitionPositionNotify {
                    Position = transitionPosition, FramesRemaining = transitionFramesRemaining
                });
                break;

            default:
                _mediator.Publish(new SwitcherMessageNotify {
                    Message = eventType.ToString()
                });
                break;
            }
        }
Ejemplo n.º 7
0
        public void Notify(_BMDSwitcherMixEffectBlockEventType eventType)
        {
            switch (eventType)
            {
            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeProgramInputChanged:
                ProgramInputChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.PGMChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewInputChanged:
                PreviewInputChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = PreviewInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Preview,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.PVWChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionPositionChanged:
                TransitionPositionChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.TransitionPositionChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeTransitionFramesRemainingChanged:
                TransitionFramesRemainingChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.TransitionFramesRemainingChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInTransitionChanged:
                InTransitionChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.InTransitionChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackFramesRemainingChanged:
                FadeToBlackFramesRemainingChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.FadeToBlackFramesRemainingChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInFadeToBlackChanged:
                InFadeToBlackChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.InFadeToBlackChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewLiveChanged:
                PreviewLiveChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Preview,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.PreviewLiveChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypePreviewTransitionChanged:
                PreviewTransitionChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Preview,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.PreviewTransitionChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeInputAvailabilityMaskChanged:
                InputAvailabilityMaskChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.None,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.InputAvailabilityMaskChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackRateChanged:
                FadeToBlackRateChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.None,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.FadeToBlackRateChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackFullyBlackChanged:
                FadeToBlackFullyBlackChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.FadeToBlackFullyBlackChanged
                });
                break;

            case _BMDSwitcherMixEffectBlockEventType.bmdSwitcherMixEffectBlockEventTypeFadeToBlackInTransitionChanged:
                FadeToBlackInTransitionChanged?.Invoke(this, new MixEffectsEventArgs()
                {
                    Input        = ProgramInput,
                    InTransition = InTransition,
                    MEBus        = MEBuses.Program,
                    TransitionFramesRemaining = TransitionFramesRemaining,
                    TransitionPosition        = TransitionPosition,
                    MixEffectsIndex           = this.MEBlockIndex,
                    MixEffectsEventType       = AtemMixEffectsEventTypes.FadeToBlackInTransitionChanged
                });
                break;

            default:
                break;
            }
        }