internal static string ToLable(FrameRateType value)
        {
            switch (value)
            {
            case FrameRateType.FR_23:
                return("23.97");

            case FrameRateType.FR_24:
                return("Film (24)");

            case FrameRateType.FR_25:
                return("PAL (25)");

            case FrameRateType.FR_29:
                return("NTSC (29.97)");

            case FrameRateType.FR_30:
                return("30");

            case FrameRateType.FR_50:
                return("50");

            case FrameRateType.FR_59:
                return("59.94");

            case FrameRateType.FR_60:
                return("60");

            case FrameRateType.FR_CUSTOM:
                return("Custom");

            default:
                return("unknown");
            }
        }
        public static float ToFloat(FrameRateType frameRateType, float customValue)
        {
            switch (frameRateType)
            {
            case FrameRateType.FR_CUSTOM:
                return(customValue);

            case FrameRateType.FR_23:
                return(24 * 1000 / 1001f);

            case FrameRateType.FR_24:
                return(24);

            case FrameRateType.FR_25:
                return(25);

            case FrameRateType.FR_29:
                return(30 * 1000 / 1001f);

            case FrameRateType.FR_30:
                return(30);

            case FrameRateType.FR_50:
                return(50);

            case FrameRateType.FR_59:
                return(60 * 1000 / 1001f);

            case FrameRateType.FR_60:
                return(60);

            default:
                throw new ArgumentOutOfRangeException("frameRateType", frameRateType, null);
            }
        }
Exemplo n.º 3
0
        private void Start()
        {
            var savedData = globalFrameOffsetController.Load();

            defaultColor = offsetFrameInputBackground.color;

            framerateDropdown.options = new List <TMP_Dropdown.OptionData>()
            {
                new TMP_Dropdown.OptionData("30 FPS"), new TMP_Dropdown.OptionData("29.97 FPS"),
                new TMP_Dropdown.OptionData("60 FPS"), new TMP_Dropdown.OptionData("59.97 FPS")
            };

            framerateDropdown.value = savedData.FrameRateType;
            offsetFrameInput.text   = savedData.Offset.ToString();

            framerateDropdown.OnValueChangedAsObservable().Subscribe(value =>
            {
                frameRateType = (FrameRateType)Enum.ToObject(typeof(FrameRateType), value);

                globalFrameOffsetController.Update(new GlobalFrameOffset
                {
                    FrameRateType = (int)frameRateType, Offset = offset
                });
            }).AddTo(this);

            offsetFrameInput.OnValueChangedAsObservable().Subscribe(text =>
            {
                if (int.TryParse(text, out var result))
                {
                    offset = result;
                    offsetFrameInputBackground.color = defaultColor;

                    globalFrameOffsetController.Update(new GlobalFrameOffset
                    {
                        FrameRateType = (int)frameRateType, Offset = offset
                    });
                }
                else
                {
                    offsetFrameInputBackground.color = Color.red;
                }
            }).AddTo(this);

            saveButton.OnClickAsObservable().Subscribe(_ => { globalFrameOffsetController.Save(); }).AddTo(this);
        }