Site Tools


coding_projects:obs_plugin_countdown_timer:v2.x

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
coding_projects:obs_plugin_countdown_timer:v2.x [2025/07/20 00:06] admincoding_projects:obs_plugin_countdown_timer:v2.x [2025/08/10 08:41] (current) – [Installation] admin
Line 6: Line 6:
 ===== Installation ===== ===== Installation =====
  
-To install the plugin, run the installer for your operating system. The installers are available [[https://github.com/ashmanix/obs-plugin-countdown/releases|here]]. This will install the plugin into the correct folder.+To install the plugin, install the plugin folder for your system. The files are available [[https://github.com/ashmanix/obs-plugin-countdown/releases|here]]. Installation instructions can be found [[resource:install_obs_plugin|here]].
  
 ===== Usage Guide ===== ===== Usage Guide =====
Line 24: Line 24:
 To set up a timer, follow these steps: To set up a timer, follow these steps:
  
-  - Add an ''%%OBS Text Source%%'' to your scene. +  - Add an ''OBS Text Source'' to your scene. 
-  - Open the ''%%Docks%%'' menu and click on ''%%Countdown Timers%%''. (This will display the countdown dockable widget.)+  - Open the ''Docks'' menu and click on ''Countdown Timers''. (This will display the countdown dockable widget.)
   - Either leave the plugin as a floating window or dock it on the OBS screen by dragging it to a suitable area.   - Either leave the plugin as a floating window or dock it on the OBS screen by dragging it to a suitable area.
   - Set up the timer using one of the two options:   - Set up the timer using one of the two options:
     - Option 1 – Set Days/Hours/Minutes/Seconds     - Option 1 – Set Days/Hours/Minutes/Seconds
     - Option 2 – Set a Countdown Datetime     - Option 2 – Set a Countdown Datetime
-  - You can rearrange timers using the ''%%up%%'' and ''%%down%%'' arrow buttons next to each timer display.+  - You can rearrange timers using the ''up'' and ''down'' arrow buttons next to each timer display.
   - Hovering over a timer display shows a tooltip summarising its settings.   - Hovering over a timer display shows a tooltip summarising its settings.
-  - To delete a timer, click the ''%%Delete timer%%'' button on that timer (this button is disabled if it’s the only timer).+  - To delete a timer, click the ''Delete timer'' button on that timer (this button is disabled if it’s the only timer).
  
 === Countdown Option 1 – Set Days/Hours/Minutes/Seconds === === Countdown Option 1 – Set Days/Hours/Minutes/Seconds ===
  
-  - Click on the ''%%P%%'' (period) button to manually set the counter.+  - Click on the ''P'' (period) button to manually set the counter.
   - Enter the desired days, hours, minutes, and seconds in the edit fields.   - Enter the desired days, hours, minutes, and seconds in the edit fields.
-  - Click the ''%%set/reset%%'' button (left button) to update the timer and text field. +  - Click the ''set/reset'' button (left button) to update the timer and text field. 
-  - Click the ''%%play%%'' button (right button) to start the timer. +  - Click the ''play'' button (right button) to start the timer. 
-  - Clicking the ''%%pause%%'' button will pause the timer. To resume, press ''%%play%%'' again. +  - Clicking the ''pause'' button will pause the timer. To resume, press ''play'' again. 
-  - After pausing, clicking ''%%set/reset%%'' will reset the timer to the values in the input fields.+  - After pausing, clicking ''set/reset'' will reset the timer to the values in the input fields.
  
  
 === Countdown Option 2 – Set Time to Countdown To === === Countdown Option 2 – Set Time to Countdown To ===
  
-  - Click on the ''%%D%%'' (datetime) button to set the target time.+  - Click on the ''D'' (datetime) button to set the target time.
   - Enter the desired date and time in the time edit field.   - Enter the desired date and time in the time edit field.
-  - Click the ''%%play%%'' button (right button) to start the countdown. +  - Click the ''play'' button (right button) to start the countdown. 
-  - Clicking the ''%%stop%%'' button will pause the timer. To resume, press ''%%play%%'' again—this updates the timer and continues the countdown.+  - Clicking the ''stop'' button will pause the timer. To resume, press ''play'' again—this updates the timer and continues the countdown.
  
 ===== Settings Dialog Options ===== ===== Settings Dialog Options =====
  
-Click the ''%%Settings%%'' button (cog icon) to open the settings dialog for each timer. The following options are available:+Click the ''Settings'' button (cog icon) to open the settings dialog for each timer. The following options are available:
  
 ==== General ==== ==== General ====
Line 63: Line 63:
 === Source === === Source ===
  
-Select the text source for the timer from the ''%%Source%%'' dropdown menu. This can be left blank if no text source is desired.+Select the text source for the timer from the ''Source'' dropdown menu. This can be left blank if no text source is desired
 + 
 +==== Timer Start Settings ==== 
 + 
 +Enable the ''Start On Stream Start'' feature by ticking the corresponding checkbox. This will start the timer automatically when you start streaming. 
 + 
 +Enable the ''Reset'' feature by ticking the corresponding checkbox. This works only for period type timers and will reset the timer when a stream starts (if start on stream start is enabled).
  
 ==== Timer End Settings ==== ==== Timer End Settings ====
Line 69: Line 75:
 === End Message === === End Message ===
  
-Enable the ''%%End Message%%'' feature by ticking the corresponding checkbox. Then enter the message you’d like displayed when the timer reaches zero. Use the keyword ''%%%time%%%'' to include the formatted time in the message.+Enable the ''End Message'' feature by ticking the corresponding checkbox. Then enter the message you’d like displayed when the timer reaches zero. Use the keyword ''%time%'' to include the formatted time in the message.
  
 === Scene === === Scene ===
  
-Enable the ''%%Scene%%'' feature by checking the box next to the ''%%Scene%%'' dropdown. Choose the scene to which OBS will automatically switch when the timer expires.+Enable the ''Scene'' feature by checking the box next to the ''Scene'' dropdown. Choose the scene to which OBS will automatically switch when the timer expires.
  
 ==== Display Format ==== ==== Display Format ====
  
-Choose which time units to display (days, hours, minutes, seconds) on the Text Source by checking the appropriate boxes. For example, selecting minutes and seconds only will display the time as ''%%mm:ss%%''. Additionally, you can toggle the display of leading zeros by checking or unchecking the ''%%Leading Zero%%'' option. If you wish to show a message instead of the timer count, enable ''%%Format Output%%'' and define the output format, using ''%%%time%%%'' as a placeholder for the formatted time.+Choose which time units to display (days, hours, minutes, seconds) on the Text Source by checking the appropriate boxes. For example, selecting minutes and seconds only will display the time as ''mm:ss''. Additionally, you can toggle the display of leading zeros by checking or unchecking the ''Leading Zero'' option. If you wish to show a message instead of the timer count, enable ''Format Output'' and define the output format, using ''%time%'' as a placeholder for the formatted time.
  
 ==== Timer Type ==== ==== Timer Type ====
Line 83: Line 89:
 Tick the **Count Up** checkbox to have the timer count up toward the set time. Tick the **Count Up** checkbox to have the timer count up toward the set time.
  
-  * For the **period** option: Clicking the ''%%set%%'' button resets the timer to zero; then clicking ''%%play%%'' starts counting up. +  * For the **period** option: Clicking the ''set'' button resets the timer to zero; then clicking ''play'' starts counting up. 
-  * For the **datetime** option: Clicking ''%%play%%'' resets the timer to zero and then counts up toward the difference between the start time and the specified datetime.+  * For the **datetime** option: Clicking ''play'' resets the timer to zero and then counts up toward the difference between the start time and the specified datetime
 + 
 +The ''Steady Second Increment (Period Timer)'' option changes the period timer’s behaviour from timestamp-based countdown to incrementing by 1 second per loop. This provides smoother counting at the cost of some accuracy. 
 + 
 +==== Text Colour ==== 
 + 
 +Tick the ''Enable Text Colours'' checkbox to toggle enabling setting the timer text font colour. 
 + 
 +   - Click on the colour box next to ''Main Text Colour'' to select a main text colour that will be used outside of colour rules. 
 +   - Click the ''plus'' button to add as many colour rule as desired. Each rule has a ''delete'' button to allow you to remove that specific rule from the list. 
 +  
 +=== Colour Rule === 
 + 
 +   - For each rule you can set a time range that the colour rule will be applied between ''min'' and ''max''
 +   - When editing the ''min'' and ''max'' times the rule will automatically change the other times to make sure no times overlap.
  
-The %%**%%Steady Second Increment (Period Timer)%%**%% option changes the period timer’s behaviour from timestamp-based countdown to incrementing by 1 second per loop. This provides smoother counting at the cost of some accuracy. 
  
 ===== OBS Hotkeys ===== ===== OBS Hotkeys =====
Line 92: Line 111:
 The following are the global hotkeys for the plugin: The following are the global hotkeys for the plugin:
  
-  * **Add New Timer** – Activates the ''%%add timer%%'' button. +  * **Add New Timer** – Activates the ''add timer'' button. 
-  * **Start All Timers** – Activates the ''%%start all timers%%'' button. +  * **Start All Timers** – Activates the ''start all timers'' button. 
-  * **Stop All Timers** – Activates the ''%%stop all timers%%'' button.+  * **Stop All Timers** – Activates the ''stop all timers'' button.
  
 Each individual timer has these hotkeys: Each individual timer has these hotkeys:
  
-  * **Start Countdown Timer** – ''%%period%%'' start button. +  * **Start Countdown Timer** – ''period'' start button. 
-  * **Pause Countdown Timer** – ''%%period%%'' pause button. +  * **Pause Countdown Timer** – ''period'' pause button. 
-  * **Set Countdown Timer** – ''%%period%%'' set button. +  * **Set Countdown Timer** – ''period'' set button. 
-  * **Start Countdown To Time** – ''%%time%%'' start button. +  * **Start Countdown To Time** – ''time'' start button. 
-  * **Stop Countdown To Time** – ''%%time%%'' stop button. +  * **Stop Countdown To Time** – ''time'' stop button. 
-  * **Add New Timer** – ''%%add timer%%'' button.+  * **Add New Timer** – ''add timer'' button.
  
 ===== Websocket Hooks ===== ===== Websocket Hooks =====
Line 109: Line 128:
 Connect to OBS via the websocket using the instructions provided [[https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md|OBS Websocket]]. Connect to OBS via the websocket using the instructions provided [[https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md|OBS Websocket]].
  
-**Note: The ''%%timer_id%%'' field in the examples below is optional. It represents the timer name displayed at the top of each timer. If omitted, the first timer in the list will be used.**+**Note: The ''timer_id'' field in the examples below is optional. It represents the timer name displayed at the top of each timer. If omitted, the first timer in the list will be used.**
  
 ==== Send Messages ==== ==== Send Messages ====
  
-The vendor name for the plugin is: ''%%ashmanix-countdown-timer%%''. To activate a function, send a JSON message formatted as follows:+The vendor name for the plugin is: ''ashmanix-countdown-timer''. To activate a function, send a JSON message formatted as follows:
  
 <code json> <code json>
Line 146: Line 165:
 with one of the following request type strings: with one of the following request type strings:
  
-  * **Start Period Countdown Timer** – ''%%period_play%%'' +  * **Start Period Countdown Timer** – ''period_play'' 
-  * **Pause Period Countdown Timer** – ''%%period_pause%%'' +  * **Pause Period Countdown Timer** – ''period_pause'' 
-  * **Reset Period Countdown Timer** – ''%%period_set%%'' +  * **Reset Period Countdown Timer** – ''period_set'' 
-  * **Start Countdown To Time** – ''%%to_time_play%%'' +  * **Start Countdown To Time** – ''to_time_play'' 
-  * **Stop Countdown To Time** – ''%%to_time_stop%%''+  * **Stop Countdown To Time** – ''to_time_stop''
  
 === Add Timer Time === === Add Timer Time ===
Line 176: Line 195:
 === Set Timer Time === === Set Timer Time ===
  
-Request Type: ''%%set_time%%''+Request Type: ''set_time''
  
 Set Timer Time Example: Set Timer Time Example:
Line 204: Line 223:
  
  
-Request Type: ''%%play_all%%''+Request Type: ''play_all''
  
 Start All Timers Example: Start All Timers Example:
Line 224: Line 243:
 === Stop All Timers === === Stop All Timers ===
  
-Request Type: ''%%stop_all%%''+Request Type: ''stop_all''
  
 Stop All Timers Example: Stop All Timers Example:
coding_projects/obs_plugin_countdown_timer/v2.x.1752966378.txt.gz · Last modified: by admin