Comprehensive Stopwatch & Countdown Timer

OBS Lua Comprehensive Stopwatch & Countdown Timer 5.9

Thank you @RobertWilliams, @rez1coder and @goods0ul for your valuable feedback and help on the bugs and issues related to this update.

To access the 'Split Time' flat file feature you need to check the checkbox for "Backup Mode" which will reveal or hide the checkbox for "Export Split Time"

The file will be created and be overridden on each startup, reset and split action. The file can be found under the script default location, or directory specified by the user.

If you like this update, please consider leaving a review. Let's see if we can smash the reviews for this release!!

This update has not been comprehensively tested prior to release, please report any issues.

NEW FEATURES

- Export split time to text file (opt-in) @RobertWilliams

USER EXPERIENCE & FEATURE ENHANCEMENTS

- Updated script description @rez1coder

BUGS

- Fixed error on load for setting 'Autoload last time stamp when OBS starts' @goods0ul
Thank you Sweboy for your valuable feedback and help on the bugs and issues related to this update.

If you like this update, please consider leaving a review. Let's see if we can smash the reviews for this release!!

This update has not been comprehensively tested prior to release, please report any issues.

NEW FEATURES
- Timer Expire Events ('Source List', 'Scene List', 'Auto List') has been expanded to exit out of the timer loop when source list contains only one item.

BUGS
- Fixed hour input limit for count down mode
- Fixed minute input limit for count down mode
- Fixed bug related Timer Expire Events ('Source List', 'Scene List', 'Auto List')
- Fixed an issue when Timer Expire Events ('Source List', 'Scene List', 'Auto List') contains only one item.

NOTES

When Timer Expire Events is set to 'Source List', 'Scene List' or 'Auto List' and only one source/scene is defined/available,
the timer will not reset. If the timer does not reset it will display the timer's expired timestamp. If a userbase requires the timestamp to
change, then this feature refactoring for the script will be considered for future updates.

To access this feature / update:

Set timer to 'Count Down'

1708037348473.png


Set 'Layout' to 'Advanced' and set 'Timer Settings' to 'Expanded'

1708037382779.png


Assign a 'Timer Source'

1708037503884.png


Set 'Timer Expire Event' to 'Source List, Scene List' or 'Auto List'

1708037583131.png



For 'Timer Expire Event' set to either 'Source List or Scene List' you must add the source/scene names manually. Ensure the spelling is correct!!

1708037745550.png


It does not matter what is listed in the 'Cycle List' as it will only act upon valid names that exist in available 'Sources' or 'Scenes' depending on the selected value 'Source List' or 'Scene List'

1708038073995.png


Use 'Auto List' to cycle through all items contained inside of either 'Nested Scenes' or 'Groups'

1708038189387.png


To access 'Auto List' set 'Timer Expire Event' to 'Auto List' and then a new 'select input' will be available to select which Nested Scene or Group items will by cycled/used.

1708038321499.png
  • Like
Reactions: OpenFields
Thank you christhevr for your valuable feedback and help on this bug.

BUGS
- Fixed hour input limit for count down mode
- Fixed minute input limit for count down mode
Thank you Seamas73 for your valuable feedback and help on this bug.

Fixed Bugs

- Fixed timer callback bug.
NEW FEATURES

- Custom Hour Unit

There is a low probability that this update may break something, so please report any issues so it may be mended.

Thank you @phagtheodnoque from my Youtube Channel for the great feature suggestion/request.

Overview:

Set Timer Format to Custom Time Format

1702454508686.png


In Time Format, override the default hour unit by adding curly brackets '{ instructions }'
  • Instructions accepted is 'H' (Overriding Hour Unit) followed by numeric value that you want the hour unit to be limited at.
  • Instructions accepted is 'M' (Overriding Minute Unit) followed by numeric value that you want the minute unit to be limited at.

Valid Input Format​

  1. Instructions Format: The input string should contain a segment enclosed in curly brackets {}.
  2. Data Encoding: Inside the curly brackets, the function looks for a pattern comprising the target_char followed immediately by one or more digits (e.g., M123, H456).

  3. Examples of Valid Strings:
    • "$H:$M:$S,$F{M90}" (with target M, extracts 90)
    • "$H:$M:$S,$F{H100M200}" (with target H, extracts 100 and with target M, extracts 200)
    • "$H:$M:$S,$F{M90H999}" (with target H, extracts 999 and with target M, extracts 90)
  4. Select Target Character: Decide the uppercase character (target_char) you're interested in. This should be a single uppercase letter like 'M' (Minute) or 'H' (Hour)

1702454900328.png
  • Like
Reactions: OpenFields
Thank you thegamingstig for your valuable feedback.

BUGS

- Fixed form property Timer Manipulation.
Thank you johnhuibers5325 and CrabbyPatty_777 from my Youtube channel for the great feedback.

Added ability to set days for Count Up Mode via Set Timer Manually

Mode new item is available:

1697513659145.png


To reveal Form Property Set Timer Manually

1697513625999.png


Where new item can be found.

1697513643099.png


New Item Added:

1697513682475.png


Remember, to see this applied to the timer you need to set Timer Format to Custom Time Format

1697514021194.png


And you need to include the symbol: $D to show days:

1697514082062.png
Thank you lcalder for your valuable feedback and help on this bug.

OPTIMIZATION

- Some small changes

BUGS

- Fixed Macintosh Compatibility issue for text sources
  • Like
Reactions: lcalder
Thank you lcalder for your valuable feedback.

NEW FEATURES

- Timer Reset

This feature has been expanded to accommodate reset during "Timer Activation Options".

1695031615517.png


- Timer Activation Options:

"Manually":
Default, Timer start and end on user interaction via Button or Hotkey

"Timer Source Visible"
Timer starts if the 'Timer Text Source' is visible on any display and/or on the main view.
Timer stops if the 'Timer Text Source' is hidden.

"Timer Scene Active"
Timer starts if the active scene is the scene where 'Timer Text Source' exist.
Timer stops if the active scene is not the scene where 'Timer Text Source' exist.

"Specific Scene Active"
Timer starts if the selected scene becomes active.
Timer stops if the selected scene becomes inactive.

"Specific Source Active"
Timer starts if the selected source is visible on any display and/or on the main view.
Timer stops if the selected source is hidden.

"Specific Media Active"
Timer starts if the selected media source is visible (started).

"Recording Started"
Timer starts when recording is started.
Timer stops when recording is paused or ended.

"Streaming Started"
Timer starts when streaming is started.
Timer stops when streaming is ended.

1695031786940.png


Additional Input Select on "Specific Scene", "Specific Source" & "Specific Media"

1695034612251.png



1695032855338.png


"Manual" will reset only on user interaction, "Auto" will reset on user interaction and on certain actions, such as "Reset" on "Timer Scene Active"

- Expanded enable/disable features by including 'Timer Activation', if this is selected, related properties will be available in the settings.

1695032940695.png


OPTIMIZATION

-

USER EXPERIENCE & FEATURE ENHANCEMENTS

- "Timer start on Source Visible" has been moved.
- "Timer reset on Source Visible" has been moved.
- "Timer start on Scene Active" has been moved.
- "Timer reset on Scene Active" has been moved.

1695031906494.png
Moved (See Timer Activation)

1695031918719.png
Moved (See Timer Activation & Timer Reset)

1695031929254.png
Moved (See Timer Activation & Timer Reset)


BUGS

- Fixed bug causing notice "Failed to call timer_cb"
- Fixed timestamp on reset for leading zero trim format

Attachments

  • 1695031767704.png
    1695031767704.png
    13.3 KB · Views: 31
  • 1695031843292.png
    1695031843292.png
    5.7 KB · Views: 37
Thank you Kirland93 for your valuable feedback.

Version 5.1

Installation:


NEW FEATURES

- New Feature ['Auto List'], the ability to cycle all sources inside specific group or scene.
- Expanded Prefix and Suffix text features.
- Split Start and Pause into two buttons (Opt In)
- Expanded feature that allows marker text sources in a defined group
- Added ability to disable features, if this is selected, related properties will be hidden in the settings.

OPTIMIZATION

-

USER EXPERIENCE & FEATURE ENHANCEMENTS

- UI changes

BUGS

- Fixed a bug with cycle list on reset
- Fixed a bug with cycle list direction with 'Descending' and 'Ascending' settings
- Fixed a bug for Marker Note Sources on reset
- Fixed a bug where Note for markers are hidden when they shouldn't be
- Fixed a bug for milliseconds toggle that caused a critical failure



Features

* "Auto List" is a new Timer Expire Event that is accessible in the Count Down Mode

1690878599426.png


* Expanded Prefix and Suffix text features Allows instructions to be added inside curly brackets:

{PARAM_1_1,PARAM_2}

1690878794095.png


PARAM_1 will accept numeric value of '1' and this will show the text at Marker A time
PARAM_1 will accept numeric value of '2' and this will show the text at Marker B time
PARAM_1 will accept STRING value of 'HH:MM:SS' and this will show the text at Defined String Time

PARAM_ 2 is optional and accept numeric value and if defined will hide the text after defined time

Example:

1690879176478.png

1690879203692.png

1690879222360.png


* Split Start and Pause into two buttons (Opt In)

1690879683786.png


* Marker A & B Notes now supports groups (Nested Text Sources)

It should be noted that the Marker Color defined in the script settings will not be applied to the text source at all. This allows to expand creativity.

1690880147377.png


* Disable features, if this is selected, related properties will be hidden in the settings and will not work during execution

1690880215880.png
  • Like
Reactions: Kirland93
Top