Plugin Description
The AD-DA.ca Tools Timer plugin provides multi-mode timing workflows for Q-SYS systems. It supports countdown, interval, pulsetrain, and freerun operation with direct control-page commands and pin-access outputs for system logic.
This plugin is intended for operational timing tasks where reliable state indication, periodic triggers, completion signaling, and straightforward runtime control are required.
Configuration Overview
Plugin version
This document is written for the plugin:
AD-DA.ca Tools Timer
QDS compatibility
This plugin has been developed and tested on:
Q-SYS Designer version 10.4
Release note
2026-07 : 1.0.0.0
Initial release
Properties
License
Type: String
Default value: Empty
Description: License key activated for the main core.
Licenses are issued on a "per core" basis, as in each core needs its own license to run as many instances of the plugin as needed on this particular core and licenses are not transferable from core to core.
License keys can be added while in Offline mode, in the Properties pane on the right. To purchase licenses, go to https://ad-da.ca.
The plugin can be emulated for free, allowing you to prepare everything without requiring you to have access to a core.
License Backup
Type: String
Default value: Empty
Description: License key activated for the backup core.
If your main Q-SYS Core fails, the backup Core automatically takes over without needing a license to function as a temporary replacement. However, if the design boots from the backup Core, a valid license is required. Additionally, if the backup Core is restarted (due to power loss or other reasons), the plugin instances cannot initialize without a valid license.
Dev
Type: String
Default value: Empty
Description: Development option.
Debug Print
Type: Enum
Choices: None, All
Default value: None
Description: Controls runtime debug logging verbosity.
Controls
Control Page
Status
Control name: Status
Type: Indicator
Controls Pin: Output
Description: Displays plugin health and current runtime status.
Typical values:
OK: Ready, Running, Paused, Stopped, Finished
FAULT: Missing License
Setup
Mode
Control name: Mode
Type: Text ComboBox
Controls Pin: Input / Output
Default value: countdown
Choices: countdown, interval, pulsetrain, freerun
Description: Selects timer behavior.
Speed
Control name: Speed
Type: Text ComboBox
Controls Pin: Input / Output
Default value: 1x
Choices: 1x, 2x, 3x, 4x, 5x, 6x, 7x, 8x, 9x, 10x
Description: Applies a runtime speed multiplier to timer progression.
Notes:
Changing Speed while running does not reset or restart the timer.
IntervalHours
Control name: IntervalHours
Type: Text ComboBox
Controls Pin: Input / Output
Default value: 00
Choices: 00 to 168
Description: Hour component of the shared H:M:S time setting.
IntervalMinutes
Control name: IntervalMinutes
Type: Text ComboBox
Controls Pin: Input / Output
Default value: 00
Choices: 00 to 59
Description: Minute component of the shared H:M:S time setting.
IntervalSecondsPart
Control name: IntervalSecondsPart
Type: Text ComboBox
Controls Pin: Input / Output
Default value: 01
Choices: 00 to 59
Description: Seconds component of the shared H:M:S time setting.
IntervalSeconds
Control name: IntervalSeconds
Type: Text Input
Controls Pin: Input / Output
Default value: 1
Description: Single formatted time input in HH:MM:SS.
Notes:
Accepts
HH:MM:SSinput and keeps the H:M:S combo controls synchronized.Numeric seconds input is also accepted for compatibility.
PulseCount
Control name: PulseCount
Type: Text Input
Controls Pin: Input / Output
Default value: 5
Description: Number of pulses/steps to run in pulsetrain mode.
Commands
Start
Control name: Start
Type: Button Trigger
Controls Pin: Input / Output
Description: Starts timing based on selected mode.
Pause
Control name: Pause
Type: Button Trigger
Controls Pin: Input / Output
Description: Pauses a running timer.
Resume
Control name: Resume
Type: Button Trigger
Controls Pin: Input / Output
Description: Resumes a paused timer.
Stop
Control name: Stop
Type: Button Trigger
Controls Pin: Input / Output
Description: Stops timing and keeps current values.
Notes:
Pressing Stop does not emit IntervalTrigger or DoneTrigger pulses.
Pressing Stop clears any active pulse output and cancels pending loop restart.
Reset
Control name: Reset
Type: Button Trigger
Controls Pin: Input / Output
Description: Resets state and values to current inputs.
Restart
Control name: Restart
Type: Button Trigger
Controls Pin: Input / Output
Description: Performs a reset and immediate start.
AutoStart
Control name: AutoStart
Type: Button Toggle
Controls Pin: Input / Output
Default value: false
Description: If enabled, timer starts automatically at plugin initialization.
Loop
Control name: Loop
Type: Button Toggle
Controls Pin: Input / Output
Default value: false
Description: In countdown mode, automatically restarts after completion.
State
Running
Control name: Running
Type: Indicator LED
Controls Pin: Output
Description: On while timer is actively running.
Paused
Control name: Paused
Type: Indicator LED
Controls Pin: Output
Description: On while timer is paused.
Stopped
Control name: Stopped
Type: Indicator LED
Controls Pin: Output
Description: On when timer is stopped or finished.
IntervalLed
Control name: IntervalLed
Type: Indicator LED
Controls Pin: Output
Description: UI pulse indicator for interval events.
IntervalTrigger
Control name: IntervalTrigger
Type: Button Trigger
Controls Pin: Output
Description: Output trigger pulse for interval events.
This control is not visible on the plugin UI and is intended for external pin access.
Time
ElapsedSeconds
Control name: ElapsedSeconds
Type: Indicator Text
Controls Pin: Output
Description: Elapsed time in whole seconds.
RemainingSeconds
Control name: RemainingSeconds
Type: Indicator Text
Controls Pin: Output
Description: Remaining time in whole seconds.
FormattedElapsed
Control name: FormattedElapsed
Type: Indicator Text
Controls Pin: Output
Description: Elapsed time in HH:MM:SS format.
FormattedRemaining
Control name: FormattedRemaining
Type: Indicator Text
Controls Pin: Output
Description: Remaining time in HH:MM:SS format.
StepCount
Control name: StepCount
Type: Indicator Text
Controls Pin: Output
Description: Pulsetrain step display as current/target (example: 3/10).
Progress Outputs
ProgressPercent
Control name: ProgressPercent
Type: Indicator Text
Controls Pin: Output
Description: Progress percentage display.
In freerun, this control remains visible but disabled.
ProgressBar
Control name: ProgressBar
Type: Indicator Meter
Controls Pin: Output
Description: Graphical progress meter.
In freerun, this control remains visible but disabled.
Mode Behavior
countdown
Uses the shared H:M:S value as target duration.
Remaining decreases to zero.
Completion triggers DoneTrigger pulse and transitions to Stopped.
IntervalTrigger pulses according to the configured period.
If Loop is enabled, timer restarts after completion pulse.
Speed multiplier scales timer progression.
interval
Runs continuously.
Uses the shared H:M:S value as interval period.
IntervalTrigger pulses every interval period.
Speed multiplier scales timer progression.
pulsetrain
Runs interval pulses for a fixed number of steps defined by PulseCount.
Stops automatically after the final step.
StepCount displays current step versus target.
The final step emits completion pulse behavior.
Speed multiplier scales timer progression.
freerun
Runs continuously until manually stopped.
Does not use time-setting controls.
Remaining controls are disabled.
ProgressBar and ProgressPercent stay visible but are disabled.
Speed multiplier scales elapsed-time progression.
manual stop behavior
Stop is a hard stop action in all modes.
Stop does not generate completion or interval pulse events.
If a loop restart was queued from a completion pulse, Stop cancels it.
