Comprehensive Stopwatch & Countdown Timer

OBS Lua Comprehensive Stopwatch & Countdown Timer 3.7

Added new Feature:

1) Timer Cycle List for Source/Scene

Cycle Scene List: (used with Source Dock)


Cycle Source List: (used with Source Dock)



'Next Scene' option that activates when timer ends now include a new option to define either a "source list" or "scene list" that will have an infinate cycle. Everytime the timer ends it will reset and switch to the next item restarting the timer. To stop the cycle the timer needs to be stopped. This can be done with a hotkey.

Note: To work with sources, the sources should be nested in a group and the "group name" must be listed in the Source Toggler. This is required so that only the source needed is visible.

This feature is useful for someone who would like to set a timer that will cycle through scenes or sources, for example if you have several different cameras and would like to cycle through them at a specific interval.

Important: The list have to be manually entered and will only work if the source name was correctly defined.

2) Show Current Source Name

There is also a new text source config, that if selected, will show the source/scene name for the current active source/scene.

3) Some minor bug fixes
* Fixed Hotkeys for Script Duplication
* Fixed Media Play to complete when timer ended
* Fixed Looped Media Playback limitation
* Updated fix for User Common FPS (Used to calculate the Stopwatch Milliseconds)

Thank you @BlueGuitarCL for the valuable feedback (:
Highly recommended to update

Update includes:
  • Critical bug fix - if user defined video Max FPS
  • Memory Leak Fix
  • User Experience Improvements
Fixed switching visibility for nested scenes as source.
1) Added Function, Timer Prefix: A Text Prefix to the Timer while the timer is active
2) Quality of life improvements
3) Fixed bug: Prevent recording if Timer Type is not Countdown
1) Performance optimization update for handling Text Sources
2) Fixed a calculation formula handling timing for media state
3) Media Visibility switch optimization.
Fixed Activating/Deactivating Sources placed inside Groups type Sources
Small fix and user experience improvements
* The action to start media ('caution') was fixed.
Small fix and user experience improvements

* The action to end media ('caution') was fixed.
All things up and all things down in time.


1) Stopwatch
2) Countdown

Property Configuration:

1) Basic - Hides all advanced settings
2) Advanced - Show all available configurations


Properties defined in 'Advanced' settings will remain active even if the config is set to 'Basic'. The purpose here is to remove clutter settings.

Some options are hidden, and will only become available if they are relevant to the parent property.

The useris able to define a time tamp:

1) Full (Hours:Minutes:Seconds:Splitseconds)
2) Leading Zeros Removed (Cleaner look)
3) Leading Zeros Removed & Splitseconds removed (Cleaner look)

** Countdown Timer Only:

1) Count Down time defined by the user (Hours:Minutes:Seconds)

2) Auto Record at Defined Events:

2.1) "Timer Expires"
2.2) "Caution Time"
2.3) "Warning Time"
2.4 ) "Timer Visible"
2.5) "Timer Start"

3) Switch Scene to defined scene when "Timer Expires"

4) Render user defined "TIMER END TEXT" when "Timer Expires"

** Stopwatch Timer Only:

1) Split Time Stamps

1.1) Split times rendered in a secondary Text Source defined by the user.
1.2) Various format options available.

Note: Format options limited due to source type features.

** Global Features:

1) Text Effects (Caution Timstamp) defined by the user.
2) Play Media Source (Caution Timstamp) defined by the user.
3) Define max play time (Seconds) for Media sources which have looping enabled (In Media Source properties)
4) Trim Timestamp
5) Hotkeys:

5.1) Start/Pause
5.2) Split Time
5.3) Reset

6) Start on Source Visible

*** Bugs:

Any feedback will be great as there might be some issues.

** Contributors & Credits

Although I coded this Script from scratch, much of it was inspered by various other Scripts created by very talented people:

1) Tom Dymel
2) cg2121
3) Tormy
4) bfxdev






  • Stopwatch-basic.png
    88.4 KB · Views: 865
Fixed incorrect reference
Fixed incorrect list type