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); } }
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); }