To install the plugin, install the plugin folder for your system. The files are available here. Installation instructions can be found here.
OBS Text Source to your scene.Docks menu and click on Countdown Timer. (This should display the countdown dockable widget on screen)Source dropdown menu.period tab to manually set the counter datetime.set/reset button (left button) to set the time to the timer and text field.play button (right button) to start the timer.pause button will pause the timer. To continue, press the play button again.set/reset button will reset the timer to the datetime in the input fields.datetime tab to set the time.play button (right button) to start the timer.stop button will pause the timer. To continue, press the play button again. This will update the timer and carry on counting down.
You can choose what to display on the Text Source (days, hours, minutes and/or seconds). Click on the checkbox next to the unit of time you wish to display. For example, selecting minutes and seconds only will show the time in the mm:ss format.
You can select whether to show leading zeros or not by ticking/unticking the Leading Zero tick box.
Ticking the Count Up tick box will have the timer count up to the set time.
period: when clicking the set button, the timer will reset to zero and then the play button starts the timer to count up to the set period.datetime: clicking the play button will reset the timer to zero and then start counting up to the period between when the timer was started and the datetime entered in the datetime field.
The End Message feature will play a measure when the timer hits zero. Click the tickbox next to the Message field to enable it. Enter the message in the text field that you want displayed when the timer runs out.
The Scene feature allows you to switch to a scene when the timer runs out. Click the checkbox next to the Scene dropdown to enable it. Select the source you wish to switch automatically to once the timer runs out.
You can set the following hotkeys:
period start buttonperiod pause buttonperiod set buttontime start buttontime stop buttonConnect to the OBS websocket connection using the instructions for Websocket here: OBS Websocket.
ashmanix-countdown-timer{
"op": 6,
"d": {
"requestType": "CallVendorRequest",
"requestId": "{{customId}}",
"requestData": {
"vendorName": "ashmanix-countdown-timer",
"requestType": "{{requestType}}"
}
}
}
The requestType value will determine what function will be activated. Use the above template and replace
{{customId}}
with a custom ID string and
{{requestType}}
with one of the request type strings listed below:
period start button – requestType: period_playperiod pause button – requestType: period_pauseperiod set button – requestType: period_settime start button – requestType: to_time_playtime stop button – requestType: to_time_stop
Adds more time to the timer – requestType: add_time, requestData.requestData: dd:hh:mm:ss. An example is shown below:
{
"op": 6,
"d": {
"requestType": "CallVendorRequest",
"requestId": "{{customId}}",
"requestData": {
"vendorName": "ashmanix-countdown-timer",
"requestType": "add_time",
"requestData": {
"time_to_add": "00:01:01:01"
}
}
}
}
Sets the timer – requestType: set_time, requestData.requestData: dd:hh:mm:ss. An example is shown below:
{
"op": 6,
"d": {
"requestType": "CallVendorRequest",
"requestId": "{{customId}}",
"requestData": {
"vendorName": "ashmanix-countdown-timer",
"requestType": "set_time",
"requestData": {
"time_to_set": "00:02:02:02"
}
}
}
}
The following are emitted from the timer:
{
"op": 5,
"d": {
"eventData": {
"eventData": {
"state": "{{stateChange}}",
"text_source": "{{textSource}}",
"timer_id": "{{timerID}}"
},
"eventType": "{{timerStateChange}}",
"vendorName": "ashmanix-countdown-timer"
},
"eventIntent": 512,
"eventType": "VendorEvent"
}
}
{
"op": 5,
"d": {
"eventData": {
"eventData": {
"time_display": "00:00:00:01",
"time_left_ms": 1000,
"timer_id": "{{timerID}}"
},
"eventType": "timer_tick",
"vendorName": "ashmanix-countdown-timer"
},
"eventIntent": 512,
"eventType": "VendorEvent"
}
}