public override void OnKeyEvent(Keys key) { double now = Win32.GetTime() / 1000; if (FlowTimer.Settings.Mark.IsPressed(key)) { switch (timerStatus) { case TimerStatus.POWER_ON: powerOnTime = now; setTimerStatus(TimerStatus.RACE_CALIBRATION); Console.WriteLine(powerOnTime); break; case TimerStatus.RACE_CALIBRATION: Console.WriteLine(now); new CalibrationInput(now).Show(); break; case TimerStatus.WAITING: //start timer setTimerStatus(TimerStatus.TIMER_RUNNING); break; case TimerStatus.TIMER_RUNNING: //do nothing break; } } }
public double TimerCallbackFn(double start) { OnDataChange(); double ret = Math.Min(Math.Max((Win32.GetTime() - start) / 1000.0, 0.001), CurrentOffset); if (ret == CurrentOffset) { ret = 0.0; } return(ret); }
public void Submit() { GetVariableInfo(out Info); double now = Win32.GetTime(); double offset = (Info.Frame / Info.FPS * 1000.0f) - (now - FlowTimer.TimerStart) + Info.Offset + Adjusted; FlowTimer.UpdatePCM(new double[] { offset }, Info.Interval, Info.NumBeeps, false); FlowTimer.AudioContext.QueueAudio(FlowTimer.PCM); ButtonSubmit.Enabled = false; CurrentOffset = Info.Frame / Info.FPS + (Info.Offset + Adjusted) / 1000.0f; Submitted = true; EnableControls(false); FlowTimer.MainForm.TextBoxFrame.Enabled = false; }
public static void StartTimer() { AudioContext.ClearQueuedAudio(); IsTimerRunning = true; TimerStart = Win32.GetTime(); CurrentTab.OnTimerStart(); if (!MainForm.ButtonStart.Enabled) { AudioContext.ClearQueuedAudio(); return; } VariableOffset.OnDataChange(); EnableControls(false); LockedTab = MainForm.TabControl.SelectedTab; TimerUpdateThread.AbortIfAlive(); TimerUpdateThread = new Thread(TimerUpdateCallback); TimerUpdateThread.Start(); CurrentTab.OnVisualTimerStart(); }
public double TimerCallbackFn(double start) { return(Math.Max(5 - (Win32.GetTime() - start / 1000.0), 0.0)); }
public FixedOffsetTimer(TabPage tab, params Control[] copyControls) : base(tab, (start) => Math.Max((FlowTimer.MaxOffset - (Win32.GetTime() - start)) / 1000.0, 0.0), copyControls) { ButtonAdd = FlowTimer.MainForm.ButtonAdd; ButtonLoadTimers = FlowTimer.MainForm.ButtonLoadTimers; ButtonSaveTimers = FlowTimer.MainForm.ButtonSaveTimers; Timers = new List <Timer>(); }