Input node

Timer

Controllable stopwatch with run, pause, reset, and loop. Outputs elapsed time in seconds, milliseconds, progress (when Duration is set), a formatted clock string, and status flags. Use Speed to control playback rate.

Inputs

PortTypeDefault
RunThe main gate. Switching it on starts a fresh count from zero (or from Duration when Speed is negative); switching it off freezes the outputs at their last value.boolfalse
PauseHolds the count still while Run stays on, so nothing restarts when you release it. Has no effect while Run is off.boolfalse
ResetWhile true the count is forced to zero and Done clears, whatever the direction. It outranks both Pause and Run.boolfalse
LoopWraps the count instead of stopping: forward it jumps from Duration back to 0, backward from 0 back to Duration. Only does anything when Duration is above 0.boolfalse
SpeedTime multiplier — 1 is real time, 2 twice as fast, 0 freezes, negative counts down. Not clamped; very large values can skip past an end point between frames.float1.0
DurationTarget length in seconds and the end point for Progress, Done and Loop. 0 means free-running with no end — Progress stays at 0 and negative Speed counts into negative seconds.float0

Outputs

PortType
Secondsfloat
Millisecondsint
Progressfloat
Runningbool
Pausedbool
Donebool
Minutesfloat
Clockstring

How It Works

Timer is a frame-accurate stopwatch. When Run becomes true, the timer starts counting up from zero. The elapsed time is available in multiple formats:

  • Seconds: Elapsed time as a float (e.g., 3.456).
  • Milliseconds: Elapsed time as an integer (e.g., 3456).
  • Minutes: Elapsed time in minutes (e.g., 0.0576).
  • Clock: Formatted string like "00:03.46" for display.

If Duration is set to a value greater than 0, the timer counts up to that duration and then stops (or loops if Loop is enabled). Progress outputs a 0–1 value representing how far through the duration the timer has progressed. Done becomes true when the duration is reached.

Speed controls playback rate: 1.0 is real-time, 2.0 is double speed, 0.5 is half speed.

Use Cases

  • Animation timing: Use Progress (0–1) to drive animations, fades, and transitions over a defined Duration.
  • Sequencing: Chain Timer Done outputs to trigger sequential events — when one timer completes, start the next.
  • Slow motion / fast forward: Adjust Speed to slow down or speed up time-dependent effects.
  • HUD clock: Connect the Clock output to a UI Text node for a live time display.
  • Looping animations: Enable Loop with a Duration to create repeating cyclic effects.
  • Data recording control: Use Run/Pause to control when Array Set collects data.

Tips

  • Duration = 0 means the timer runs indefinitely — Progress will always be 0 in this mode.
  • Pause preserves the current time — Unpause continues from where it left off.
  • Reset returns to 0 and stops the timer. Combine with Run on the next frame to restart.
  • Speed can be negative for countdown effects (the timer counts backwards from Duration).
  • Multiple Timer nodes can run simultaneously for complex choreography.

Open Timer in the interactive catalog →

Timer is one of 381 nodes in Grafit Pro.

Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.

More Input nodes