private void AutoSwitchEnableButtonOnButtonEvent(IButton button, ButtonEventArgs args)
 {
     if (args.EventType != ButtonEventType.Released)
     {
         return;
     }
     SelectedProcessor.ToggleAutoSwitch();
 }
 private void CameraSelectListButtonsOnButtonEvent(IButton button, ButtonEventArgs args)
 {
     if (args.EventType != ButtonEventType.Released)
     {
         return;
     }
     SelectedProcessor.ManualSwitchCamera((ushort)args.CollectionKey);
 }
 private void LayoutsListButtonsOnButtonEvent(IButton button, ButtonEventArgs args)
 {
     if (args.EventType != ButtonEventType.Released)
     {
         return;
     }
     SelectedProcessor.ChangeLayout((ushort)args.CollectionKey);
 }
 private void RoomConfigsListButtonsOnButtonEvent(IButton button, ButtonEventArgs args)
 {
     if (args.EventType != ButtonEventType.Released)
     {
         return;
     }
     var thread = new Thread(specific =>
     {
         SelectedProcessor.ChangeRoomConfig((ushort)specific);
         UpdateFeedback(SelectedProcessor);
         return(null);
     }, args.CollectionKey);
 }
        private void CameraButtonsOnButtonEvent(IButton button, ButtonEventArgs args)
        {
            if (SelectedCamera == null)
            {
                return;
            }
            switch (args.EventType)
            {
            case ButtonEventType.Pressed:
                switch (args.CollectionKey)
                {
                case Digitals.CameraUp:
                    SelectedCamera.TiltUp();
                    break;

                case Digitals.CameraDown:
                    SelectedCamera.TiltDown();
                    break;

                case Digitals.CameraLeft:
                    SelectedCamera.PanLeft();
                    break;

                case Digitals.CameraRight:
                    SelectedCamera.PanRight();
                    break;

                case Digitals.CameraZoomIn:
                    SelectedCamera.ZoomIn();
                    break;

                case Digitals.CameraZoomOut:
                    SelectedCamera.ZoomOut();
                    break;
                }
                break;

            case ButtonEventType.Tapped:
                break;

            case ButtonEventType.Held:
                break;

            case ButtonEventType.Released:
                switch (args.CollectionKey)
                {
                case Digitals.CameraUp:
                case Digitals.CameraDown:
                    SelectedCamera.TiltStop();
                    break;

                case Digitals.CameraLeft:
                case Digitals.CameraRight:
                    SelectedCamera.PanStop();
                    break;

                case Digitals.CameraZoomIn:
                case Digitals.CameraZoomOut:
                    SelectedCamera.ZoomStop();
                    break;

                case Digitals.CameraTrackingOff:
                    ((ViscaCamera)SelectedCamera).RecallPreset(81);
                    break;

                case Digitals.CameraTrackingOn:
                    ((ViscaCamera)SelectedCamera).RecallPreset(80);
                    break;

                case Digitals.CameraRecordBtn:
                    SelectedProcessor.StartRecord();
                    break;

                case Digitals.CameraRecordStopBtn:
                    SelectedProcessor.StopRecord();
                    break;

                case Digitals.CameraStreamBtn:
                    SelectedProcessor.ToggleStream();
                    break;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }