Skip to content
Automation

Whatever already runs your show can run flexMeter.

Six control surfaces, picked so you don't have to learn a new one. Three are featured below — the WebSocket API, Shortcuts and Siri, and the flex:// URL scheme. The other three (OSC, webhooks, AppleScript) sit underneath for the rooms that need them.

The live one

A WebSocket that pushes the full mix at 10 Hz.

Built for real-time apps. The Companion uses it to mirror your levels on iPhone Live Activities. You can use it for anything — a custom dashboard, a control surface, an OBS plug-in, a lighting cue rig.

WebSocket API v3 Pro

Per-machine token. Origin-checked. Four-client cap. Bonjour-discoverable.

Bind localhost:9812, authenticate with the keychain token, and subscribe. The server pushes per-channel RMS, peak, true-peak, LUFS M/S/I, and clip state ten times a second.

Web-scheme origins (http://, https://) are rejected at the handshake so browser pages can't CSRF you. Token regenerates on demand. Auto-advertises as _flexmeter._tcp.

ws://127.0.0.1:9812 10 Hz
type levels
rms [−13.2, −14.1]
peak [−6.8, −8.2]
lufsI −16.3
isClipping false
4 / 4 clients + 24 ms since last frame
The Apple-native one

"Hey Siri, go on air with flexMeter."

Five action intents and three read-only UI Snippets are registered with App Intents. Drive the tally from Shortcuts. Ask Siri for the current loudness. Bake a "Go Live" Shortcut into your show prep.

App Intents · Shortcuts · Siri Pro

The same surface drives a NFC tag, a Stream Deck, the menu bar, and your voice.

Five action intents — Go On Air, Go Off Air, Toggle Tally, Show Text, Clear Text — handle every show-state change you'd want to automate.

Three UI Snippet intents — Get Current Loudness, Get Tally State, Get Session Summary — return a SwiftUI card inside Shortcuts or the Siri response. No app launch required. Pair with macOS Focus Filters to apply a preset and start an Air Log session when a Focus turns on.

Siri
"Hey Siri, what's the loudness?"
flexMeter · Now ON AIR
LUFS-I−16.4
TP−1.1
LRA4.2
Target −16 · on point
The universal one

Type a URL. The strip responds.

A registered URL scheme that any app, script, or button can open. Stream Deck. Automator. Terminal. Keyboard Maestro. Raycast. If it can open a URL, it can drive flexMeter.

flex:// URL scheme Pro

The lowest-friction way in. Zero setup, zero auth.

Named colors resolve to hex. URL-encoded spaces in content are decoded. Works from Terminal (open "flex://…"), Stream Deck's Open URL action, Automator, AppleScript's open location, anything that can fire a URL.

Most Stream Deck users wire one button to flex://tally?color=red and another to flex://clear and they're done. The whole automation surface in two buttons.

Terminal · zsh
$ open "flex://tally?color=red"
$ open "flex://text?content=WRAP%20UP"
$ open "flex://clear"
WRAP UP
3 commands · 3 strip changes
Three more surfaces

For rooms that already speak OSC, webhooks, or AppleScript.

If you've already wired QLab, Make, or ProPresenter into the rest of your show, flexMeter slots in. We won't make you switch tools to get show-state control.

OSC over UDP

For TouchOSC, Lemur, QLab, MA Lighting consoles.

/flexmeter/tally/on red
/flexmeter/text "STAND BY"
/flexmeter/airlog/start

Advertised as _osc._udp via Bonjour — companion apps browse without manual IP entry.

Outgoing webhooks

Make, Zapier, Slack, or any HTTP endpoint receives broadcast events.

POST https://hooks.example.com/feed
{"event":"tally_on","color":"red"}
{"event":"airlog_end","lufs":-16.4}

A "Send Test Event" button in Settings confirms delivery before you go live.

AppleScript

For ProPresenter cues, OSAScript, anything that scripts macOS.

tell application "flexMeter"
  set tally to {color:"red"}
  set text strip content to "GUEST: A. LOVELACE"
end tell

Open the dictionary in Script Editor — File → Open Dictionary → flexMeter.

Focus Filters

Each Focus mode is a config.

When the Focus activates, flexMeter applies the preset, flips the tally, starts an Air Log session, and shows the palette — without ever launching a window.

  • Workflow Preset Streaming · Podcast · Broadcast · Classic VU · Peak Watch
  • Enable Tally On / off
  • Start Air Log session On / off
  • Show Metering Palette On / off
Recipes

What this looks like in practice.

Stream Deck — Go on air, start Air Log, push label

Bind one Stream Deck button to a Multi Action that hits the OBS "Start Streaming" hotkey, opens flex://tally?color=red&animation=blink via the Open URL action, and then opens flex://text?content=LIVE&background=cc1100. Auto-cascade Tally → Air Log starts the session for you.

QLab cue — push a segment name from a rundown

Add a Network → OSC cue addressed to flexMeter (Bonjour-resolved). Send /flexmeter/text "SEGMENT 3 · A. LOVELACE". The Text Strip updates in real time; the same value broadcasts to any paired iPhone Companion.

Focus Mode — apply a preset on schedule

Open System Settings → Focus → App Filters → flexMeter. Set the Workflow Preset to Broadcast, enable Tally, start an Air Log session, and show the Metering Palette. When the Focus turns on, flexMeter applies it without ever opening a window.

Footswitch — push to talk on hardware

In Settings → Modules → Push to Talk, click "Change" and press your footswitch. Hold the switch to flip Tally to red; release to clear. CallKit auto-Tally still works in parallel for inbound calls.

All six surfaces ship with Pro.

CoreMIDI, CallKit auto-Tally, Push to Talk, the iPhone Companion, the AUv3 plug-in, the Air Log automation — same tier, same Pro price.