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
| Port | Type | Default |
|---|---|---|
| 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. | bool | false |
| PauseHolds the count still while Run stays on, so nothing restarts when you release it. Has no effect while Run is off. | bool | false |
| ResetWhile true the count is forced to zero and Done clears, whatever the direction. It outranks both Pause and Run. | bool | false |
| 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. | bool | false |
| 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. | float | 1.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. | float | 0 |
Outputs
| Port | Type |
|---|---|
| Seconds | float |
| Milliseconds | int |
| Progress | float |
| Running | bool |
| Paused | bool |
| Done | bool |
| Minutes | float |
| Clock | string |
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.