TIMER PLUGIN
Version 5Release 1 July 2023
The Script is a plugin written in the lua coding language which is designed specifically to be embedded in the Open Broadcaster Software application.
Completely customizable timer format & display
Feature Overview
This plugin is designed to be highly customizable and versatile, making it suitable for a wide range of scenarios and user preferences. Here are a some of the features this plugin have to offer.- Supports Duplication: The plugin can be duplicated and used to run multiple instances simultaneously.
- Customizable Timer Format & Display: The timer format and display are completely customizable, allowing for various configurations.
- Count Up: The plugin can count time upwards.
- Count Down: The plugin can count time downwards.
- Real-Time Count Inversion: The plugin can change the counter direction in real-time.
- Countdown Components: The plugin supports counting down in days, hours, minutes, seconds, and milliseconds.
- Specific Date & Time Countdown: The plugin supports counting down to a specific date and time.
- Toggle Visibility of Split Seconds: Triggered by Hotkey or timestamp to show/hide the split seconds.
- Events when Timer Expires: Provides powerful functionality.
- Create a Stopwatch: Features to mark laps and intervals.
- Start Timer from Specific Timestamp: The plugin can be started from a specific timestamp.
- Autoload Last Saved Timestamp: The plugin can autoload the last saved timestamp on startup.
- Cycle Through Source List: The plugin can cycle through a defined source list based on a timer.
- Cycle Through Nested Sources: The plugin can cycle through sources that are placed in a defined group or nested scene based on a timer.
- Cycle Through Scene List: The plugin can cycle through a defined scene list based on a timer.
- Switch to Specific Scene when Timer Expires: The plugin can switch to a specific scene when the timer expires.
- Play a Media Source at Specified Time: The plugin can play up to two media sources at a specified time.
- Play a Media Source when Timer Expires: The plugin can play a media source when the timer expires.
- Change Timer Text Color: The plugin can change the timer text color at a specified time and allows defining two color changes.
- Enable Visibility on Another Text Source: The plugin can enable visibility on another text source at a specified time.
- Start Recording at Specified Time: The plugin can start recording at a specified time.
- Custom Message on Timer Expiry: The plugin can display a custom message when the timer expires.
- Custom Timer Prefix/Suffix: The plugin allows defining a custom prefix or suffix for the timer.
- Start Timer on Text Source Visibility: The plugin can start the timer when the Timer Text Source becomes visible.
- Start Timer on Scene Activation: The plugin can start the timer when the scene with the Timer Text Source becomes active.
- Export Script Settings: The plugin allows exporting script settings for backup or quick setup.
- Import Script Settings: The plugin allows importing previously saved script settings.
- Add/Subtract Seconds: The plugin can add or subtract seconds to/from the timer.
- Assign Minute Unit Format: The plugin allows assigning a minute format to create a 90-minute timer or any length Minute timer.
- Assign Hour Unit Format: The plugin allows assigning a hour format to override the default 24 hour timer to any length Hour timer.
- Debug Logging: Create a local file for debugging issues.
- Dedicated Buttons: Ability to split the 'Start' and 'Pause' button
- Hotkey Support: The plugin supports hotkeys for starting, pausing, resetting, split-time, toggling milliseconds, changing time direction, and adding/subtracting time.
- Disable Unwanted Features: Ability to completely remove unwanted features.
PLUGIN DESIGN OVERVIEW:
To ensure an optimal user experience, it's important to understand the distinction between two types of objectives some of the properties serve in the plugin UI: those that enhance the user experience and those that directly impact the core functionality and behaviour. Let's delve into these categories to help you navigate the plugin effortlessly.
PROPERTIES FOR ENHANCING USER EXPERIENCE:
These properties focus on providing additional customization options and improving the overall usability of the plugin. While they don't directly affect the core functionality, they play a vital role in tailoring the plugin with a specific purpose.
Here's what you need to know:
The OBS Native UI interface can sometimes become cluttered when using plugins with complex configurability. To address this issue, this plugin has been designed to display or hide certain properties based on their relevance. It's important to understand that some properties, while relevant, are intentionally hidden to prevent an overwhelming amount of information. Therefore, it is crucial to carefully examine each property to determine if it reveals any extendable settings.
Here's what you need to know:
The OBS Native UI interface can sometimes become cluttered when using plugins with complex configurability. To address this issue, this plugin has been designed to display or hide certain properties based on their relevance. It's important to understand that some properties, while relevant, are intentionally hidden to prevent an overwhelming amount of information. Therefore, it is crucial to carefully examine each property to determine if it reveals any extendable settings.
Here are some Properties that will simplify or expand available properties:
1. Timer Settings
2. Marker Settings
PROPERTIES AFFECTING CORE FUNCTIONALITY AND BEHAVIOR:
These properties directly impact how the plugin operates and can significantly influence its core functionality. Understanding and adjusting these settings will ensure the plugin behaves precisely as you intend.Here's what you should consider:
The Plugin provide Timer focused functionality that can be configured for various scenarios.
The Plugin provides two modes, each with some unique features and some that overlap between the two modes.
The Plugin modes are:
- Count Up
- Count Down
The Basic layout hide additional properties that will only become available in the Advanced layout.
Switching between the Basic and Advanced layout has no impact on the features or any defined settings of the plugin, it only shows or hide properties in the Plugin Settings UI. This serves the purpose of removing clutter when only a simple layout is required. This solution was deployed because many of the features are not used by the average user and having it all displayed in a small area can be overwhelming. The downside is that it may create a sense that the settings are obscured or unintuitive.
Item | PROPERTIES DESIGN | Version | Mode Available |
---|---|---|---|
1 |
| 0.2 2.0 (Expanded) | Always |
2 |
| 2.0 | Always |
3 |
| 4.2 | Always |
4 |
| 0.2 | Always |
5 |
| 2.9 | Count Down |
6 |
| 2.9.1 | Count Down |
7 |
| 2.9.1 | Count Down |
8 |
| 2.9 | Count Down |
9 |
| 2.9.1 | Count Down |
10 |
| 2.9.1 | Count Down |
11 |
| 2.0 | Count Down |
12 |
| 2.0 | Count Down |
13 |
| 2.0 | Count Down |
14 |
| 3.0 (Expanded) 3.3 (Expanded) 4.8 (Expanded) | Always |
15 |
| 4.8 (Expanded)5.6 | Always |
16 |
| 3.9 | Count Down |
17 |
| 3.9 | Count Down deprecated 5.0 |
18 |
| 1.0 | Count Up |
19 |
| 1.0 | Count Up |
20 |
| 4.2 | Always |
21 |
| 2.0 | Always |
22 |
| 2.0 | Always |
23 |
| 5.0 | Always |
24 |
| 5.0 | Always |
25 |
| 2.0 | Always |
26 |
| 5.0 | Always |
27 |
| 2.0 | Always |
28 |
| 5.0 | Always |
29 |
| 4.2 | Count Down |
30 |
| 2.0 | Always |
31 |
| 2.0 | Always |
32 |
| 2.0 | Always |
33 |
| 4.2 | Count Down |
34 |
| 2.0 | Always |
35 |
| 2.0 | Always |
36 |
| 2.0 | Always |
37 |
| 3.2 | Always |
38 |
| 3.2 | Always |
39 |
| 3.2 | Always |
40 |
| 3.2 | Always |
41 |
| 3.2 | Always |
42 |
| 5.0 | Always |
43 |
| 5.0 | Always |
44 |
| 2.0 | Always |
45 |
| 2.4 | Always |
46 |
| 3.0 | Always |
47 |
| 2.8 | Count Down |
48 |
| 2.8 5.1 (Expanded) | Count Down |
49 |
| 5.1 | Count Down |
50 |
| 2.0 | Count Down |
51 |
| 2.8 | Count Down |
52 |
| 5.1 (Expanded) | Count Down |
53 |
| 4.7 | Always |
54 |
| 4.5 4.7 (Expanded) | Always |
55 |
| 4.5 4.7 (Expanded) | Always |
56 |
| 3.5 | Count Up |
57 |
| 5.1 | Always conditional |
58 |
| 5.1 (Expanded) | Always |
59 |
| 1.0 | Count Up |
60 |
| 3.9 | Count Down |
61 |
| 4.4 | Count Up |
62 |
| 0.2 | Always |
63 |
| 3.2 | Count Up |
64 |
| 2.0 | Always |
65 |
| 2.0 | Always |
66 |
| 3.8 | Always |
67 |
| 4.6 | Always |
68 |
| 3.9 | Count Down |
69 |
| 0.2 | Always |
70 |
| 4.4 | Count Up |
71 |
| 4.4 | Count Up |
72 |
| 3.3 | Always |
73 |
| 5.0 | Always |
74 |
| 5.1 | Always |
75 |
| 3.3 | Always |
76 |
| 3.3 | Always |
77 |
| 3.3 | Always |
78 |
| 5.1 | Always |
- Video tutorial: Download and install the Script
- Getting started with a basic Count Up timer
- Exploring advanced features for a Count Up timer.
- Getting started with a basic Count Down timer
- Exploring advanced features for a Count Down timer [Tutorial Coming Soon]
- Exploring advanced features for any timer mode [Tutorial Coming Soon]