KUMA Timer — User Guide

Version 1.7.30 · The Bold & Alert Clock System

Installation

KUMA Timer is available as a direct download (macOS & Windows) and on the Microsoft Store (Windows). The Apple App Store (macOS) version is coming soon.

Apple App Store COMING SOON

The easiest way to install KUMA Timer on macOS — no Gatekeeper warnings, automatic updates, and no manual download needed.
The App Store price is £5.99. This is a one-time payment that covers Apple's developer programme fee ($99/year) and helps keep the project going. If you can, please consider installing through the App Store — it makes a real difference for an indie project like this. ☕

macOS — Direct Download

Download the .zip, unzip and drag KUMA Timer.app to your Applications folder. On first launch macOS Gatekeeper may warn about an unrecognised developer — right-click the app and choose Open, then confirm.

Windows — Microsoft Store RECOMMENDED

Installs silently without any SmartScreen warnings and updates automatically. Search for KUMA Timer in the Microsoft Store or use the link on the download page.

Windows — Direct Installer (.exe)

If you prefer the direct installer, Windows Smart App Control or SmartScreen may block it on first run. To bypass:


Overview

KUMA Timer has two windows:

The display window can be sent to any connected screen and goes fullscreen automatically on secondary screens.


Timer Controls

ButtonAction
STARTStart the timer from the loaded time
PAUSEPause the running timer
RESUMEResume after pause
RESETStop and clear the timer to zero
HIDE TIMERBlank the display window (timer keeps running internally)
SHOW TIMERRestore the display
−1m / +1mSubtract or add 60 seconds while timer is running

Setting the Time

Use the H / M / S spinboxes to enter the desired duration, then click SET to load it without starting.

The status label above the controls shows the current state: STANDBY, LIVE, PAUSED, or the active speaker name.


Presets

Six quick-load buttons (e.g. 5M, 10M, 20M…).

InteractionAction
ClickLoad that duration and set the manual input fields
Hold (0.6 s)Edit the preset value — enter new minutes in the dialog

Presets are saved automatically to config.


Cuesheet / Runsheet

The left column is a runsheet of named speakers with individual times.

InteractionAction
Double-click a cueLoad that speaker's time and name into the timer
Drag & dropReorder cues — saved automatically
+ buttonAdd a new cue (name + minutes + seconds)
− buttonDelete the selected cue
Clear buttonRemove all cues (confirmation required)
✎ buttonEdit the selected cue (name, minutes, seconds)
▶ NEXT buttonAdvance to the next cue in the runsheet

The sidebar can be hidden in Settings → Display → Show Runsheet. The cue name can be shown above the timer on the display window — toggle in Settings → Display → Show Cue Name on Display.


Display Modes

Use the TIMER / CLOCK toggle in the control panel:

ModeDisplay shows
TIMERCountdown (or count-up in overtime)
CLOCKCurrent wall clock time (HH:mm:ss)

Screen Selection

The dropdown at the top of the control panel lists all connected screens (e.g. Primary 2560×1600, Ext 2 3840×2160). Select a screen to move the display window there. On a secondary screen it goes fullscreen automatically; on the primary screen it opens as a regular window.


Send Message to Screen

The SEND SMS button sends a text message to the display window.

  1. Click SEND SMS — a dialog opens
  2. Pick a saved or recent message, or type a new one (max 300 characters)
  3. Set duration (1–600 seconds) and optional effects
  4. Click OK

Display modes

Enable Scroll to force scrolling even for short messages. Enable Flash for a flashing background effect. The button changes to CANCEL SMS while the message is active.

Display defaults (text colour, border colour, size, position) and saved messages are managed in Settings → SMS. The Invert scroll direction option is available there for right-to-left languages (Arabic, Hebrew).

The browser mirror page (http://<ip>:5555) shows both the bar and fullscreen SMS overlay in sync with the display window.


Time Glide

Time Glide adjusts the timer's tick speed so it reaches zero at a target moment — without changing the displayed value.

Click TIME GLIDE SETTINGS ▲ to expand the panel.

Duration Glide

Enter how many real minutes/seconds remain until the end of the session. KUMA recalculates the tick speed so the timer expires exactly then.

Clock Time Glide

Enter the wall clock time at which the timer should reach zero. KUMA calculates the difference from now and adjusts speed accordingly.

ButtonAction
APPLYActivate glide — replaced by CANCEL GLIDE
CANCEL GLIDERestore normal 1-second tick speed
Time Glide is transparent to the audience — the display always shows the original countdown value. Glide cancels automatically when the timer enters overtime.

Overtime

When the timer reaches zero:

SettingBehaviour
Count UpTimer continues with a − prefix and red colour
Stay at 00:00Timer freezes at zero
Stop TimerTimer stops completely

Additional options in Settings → Overtime: change background colour, blink, show a custom message (e.g. PLEASE WRAP UP), send an OSC trigger to Companion.


Presenter View Mode

Settings → Display → Enable Presenter View Mode

PVM creates a small floating window that stays always on top of all other applications — including PowerPoint and Keynote in fullscreen. The window does not steal keyboard focus, so your presentation clicker continues to work normally.

Window controls

ActionResult
Drag centreMove the window
Drag edge or cornerResize — font auto-scales to fill
Hover over windowReveal controls: START/STOP · PAUSE · −1m · +1m
Right-clickBring the main KUMA Timer control panel to the front

Typical workflow

  1. Set your duration and open Keynote / PowerPoint
  2. Enable PVM in Settings → Display — the floating window appears
  3. Position and resize the window (e.g. corner of your laptop screen)
  4. Click into Keynote and start your slideshow
  5. Press START (hover the floating window) or use OSC/Companion
  6. The countdown stays visible — your clicker works as normal
  7. Right-click the floating window to bring the control panel back

LTC Receiver Mode

KUMA Timer can read incoming LTC (SMPTE Linear Timecode) from a sound card and display it on the output screen — useful as a timecode reader in broadcast or live production rigs.

Setup

  1. Connect the LTC output of your timecode generator to the line input of your sound card
  2. Open Settings → LTC
  3. Check Enable LTC Input and select the correct audio input device
  4. Click Save Settings

When LTC is active

macOS: On first use, the system will ask for microphone access. Grant it — without this permission the audio input cannot be opened and LTC will not work.

Web Mirror

When enabled (Settings → Network → Enable Web Mirror Server), KUMA runs a local HTTP server. Open http://localhost:<port> in any browser on the same network to see the timer — useful for confidence monitors, tablets, or phones.

The progress bar in the web view follows the global Enable Progress Bar setting.

macOS: On first launch macOS may ask to allow incoming network connections. Click Allow — KUMA needs this for the Web Mirror / Companion API (port 5555) and OSC (port 9000).

Web Controller

The Web Controller is a browser-based control panel protected by a password — useful for a second operator, a director's tablet, or a phone on the production desk.

Setup

  1. Make sure Web Mirror / API Server is enabled in Settings → Connections
  2. Set a Controller Password in the same section (leave blank to disable the controller)
  3. Click Save Settings
  4. Open http://<IP>:<PORT>/control in any browser — the settings dialog shows the exact link

Available controls

No settings access. The Web Controller can only trigger the controls that the main operator has already configured in the app. It cannot change any settings.

NDI Output

KUMA Timer can broadcast a full 1920×1080 NDI video stream that mirrors the display window — timer, cue name, SMS bar and progress bar — to any NDI-compatible application on the network (vMix, OBS with NDI plugin, Resolume, Wirecast, etc.).

The NDI runtime is bundled inside the app — end users do not need to install the NDI SDK or any separate tools.

Setup

  1. Open Settings → Connections and scroll to the NDI Output section
  2. On first enable, a licence acceptance dialog appears — scroll through and click Accept
  3. Check Enable NDI Output and click Save Settings
  4. The status bar shows NDI ● (amber while initialising, green when active)
  5. In your NDI receiver, look for the source named KUMA Timer

What the NDI stream includes

Timer Font

Choose the font used in both the display window and the NDI stream in Settings → Display → Timer Font. All available options are monospace — the font size stays perfectly consistent regardless of which digits are displayed.

NDI initialises in the background on a separate thread — the UI never freezes. The stream becomes active a few seconds after enabling.

KUMA Live (Cloud Relay)

Share your timer with remote speakers over the internet. KUMA Live pushes the timer state to the cloud so anyone with the link can watch the countdown in a browser — no LAN or VPN required.

How it works

  1. Open Settings → Connections → KUMA Live
  2. Click Generate QR Code — a unique session URL is created
  3. Share the QR code or URL with up to 2 remote viewers
  4. Viewers open the link on any device — the timer mirrors in real-time

Remote messaging

Enable Allow remote viewers to send messages in settings. Viewers can type a message in their browser which appears on your timer display — useful for stage managers or producers giving timing cues to speakers remotely.

Session limits

Controls

KUMA Live requires an internet connection. No account or login is needed. The session is temporary and deleted when you close it or the app.

OSC Reference

OSC is supported for integration with third-party show control systems and lighting desks. For Bitfocus Companion, the dedicated HTTP module (see below) gives richer control and feedback.

Incoming OSC — external device → KUMA

Default listen port: 9000 (Settings → Connections)

AddressArgumentAction
/kuma/startStart timer
/kuma/pausePause / resume toggle
/kuma/resetReset to zero
/kuma/hideToggle display visibility
/kuma/time/add+1 minute
/kuma/time/sub−1 minute
/kuma/warpint secondsLoad duration (e.g. 300 = 5:00)
/kuma/presetint 0–5Load preset by index
/kuma/cueint indexLoad cue from runsheet by index
/kuma/cue/nextAdvance to next cue
/kuma/settimestring HH:MM:SSLoad exact time (e.g. "01:30:00")
/kuma/smsstring text · int durationSend message to display

Outgoing OSC — KUMA → external

Default target: 127.0.0.1 : 12321

AddressValueSent when
/kuma/status"LIVE" · "PAUSED" · "STANDBY" · "HIDDEN"On state change
/kuma/overtime1On overtime start (path configurable)

Bitfocus Companion Module

The KUMA Timer Companion module communicates over HTTP/JSON — no OSC configuration needed. It polls KUMA's built-in web server for live state and sends commands via HTTP POST.

Make sure Web Mirror is enabled in Settings → Connections and note the port (default 5555). KUMA and Companion must be on the same network.

Installation

  1. Download the .zip from the Download page, extract it and move the kuma-companion/ folder somewhere permanent
    (e.g. ~/companion-modules/kuma-companion/)
  2. Open the Companion launcher, click the ⚙ cog icon (top-right) → Advanced Settings
  3. In the Developer section click Select and choose the folder containing kuma-companion/, then toggle Enable Developer Modules on
  4. Close settings, click Launch GUI, add a new connection and search for KUMA Timer
  5. In the connection settings enter KUMA's IP address and port (default 5555)

Actions

ActionOptionsDescription
StartStart the timer
Pause / ResumeToggle pause state
ResetStop and reset to zero
Hide / Show DisplayToggle display window visibility
+1 MinuteAdd 60 seconds
−1 MinuteSubtract 60 seconds
Load Time (seconds)secondsLoad a duration in seconds
Load Time (MM:SS)minutes · secondsLoad duration as MM:SS
Load Presetindex 0–5Activate a preset button by index
Load CueindexLoad runsheet cue by index (0 = first)
Next CueAdvance to the next cue in the runsheet
Previous CueGo back to the previous cue in the runsheet
Set Display ModeTIMER · CLOCKSwitch between countdown timer and wall clock
Send Message (SMS)text · duration · colour · border colour · size · position · flash · scrollSend a styled text message to the display
Cancel SMSRemove the current on-screen message

Feedbacks

FeedbackActive when
Timer is LIVETimer is running
Timer is PAUSEDTimer is paused
Timer in STANDBYTimer is stopped / reset
Display is HIDDENDisplay window is hidden
Timer in OVERTIMETimer has passed zero
Cue is active (by index)The specified cue index is currently loaded
Low time warningProgress percentage is below a set threshold (e.g. <20%)
SMS message activeA message is currently shown on screen

Variables

VariableValue
$(pltech-kumatimer:timer)Live countdown string, e.g. 04:32
$(pltech-kumatimer:timer_seconds)Timer value in seconds
$(pltech-kumatimer:status)LIVE · PAUSED · STANDBY · HIDDEN · OFFLINE
$(pltech-kumatimer:display_mode)TIMER or CLOCK
$(pltech-kumatimer:cue_name)Name of the currently loaded speaker / cue
$(pltech-kumatimer:cue_index)Index of the current cue (−1 if none)
$(pltech-kumatimer:overtime)true / false
$(pltech-kumatimer:progress)Progress bar percentage (100 → 0)
$(pltech-kumatimer:sms_active)true while a message is on screen

Settings Reference

Display

Misc

Connections

SMS

Integrations

Overtime

LTC


Tips & Shortcuts