Now in TestFlight Beta

Run your show.
Just say the word.

WaveCmd translates plain-English commands into precise protocol messages for ETC Eos, QLab, and more — so you can focus on the performance, not the software.

macOS 15+ & iOS  ·  No subscription. No external services.

Supported Software

Connects to the tools you already run

ETC Eos Live

Full bidirectional OSC/UDP communication. Send commands, receive cue status, active channel levels, and show file name in real time.

  • Channel intensity control
  • Cue playback & navigation
  • Real-time RX feedback
  • Active cue tracking
QLab Live

Cue playback control via OSC/UDP for Figure 53's industry-standard show control and audio playback software.

  • Go / Stop / Pause
  • Cue number targeting
  • Bidirectional status
  • Active cue name display
grandMA3 Coming Soon

grandMA3 bridge in active development. Natural language control of MA lighting consoles is on the way.

  • Executor control
  • Playback management
  • Command line passthrough
Resolume Coming Soon

VJ and video playback control for Resolume Avenue and Arena via OSC.

  • Clip triggering
  • Layer management
  • BPM control
Isadora Coming Soon

Interactive media control for TroikaTronix Isadora — natural language scene triggering and actor control.

  • Scene navigation
  • Actor parameter control
  • Live input routing

Built for Live Performance

Every detail designed
for the stage

Floating Panel

WaveCmd stays above your full-screen show software. No alt-tabbing, no lost focus — the panel floats exactly where you need it.

Smart Mode + Direct Mode

Smart Mode uses Apple Intelligence for flexible natural language parsing. Direct Mode uses fast regex patterns — your choice per command.

Type or Speak

Enter commands via keyboard or dictation. Plain English like "Bring channel 12 to fifty percent" or "Stop" — WaveCmd understands both.

Real-Time TX/RX Status

Every command sent is confirmed. Responses from your software are displayed in the console — cue names, intensity values, show file status.

Dynamic Bridge System

Add only the software connections you need. Each bridge is color-coded and independently configured — mix Eos and QLab in the same session.

No External Dependencies

Pure Swift/SwiftUI. No cloud services, no API keys, no subscriptions to manage. Your show data stays on your network.

Who It's For

For everyone behind the board

Lighting Designers

Control ETC Eos channel levels, cue playback, and intensity parameters without lifting your eyes from the stage.

Sound Designers

Trigger QLab cues, manage playback, and navigate your show file using the same language you already use in rehearsal.

Show Operators

Run complex multi-software shows from a single floating panel. Less clicking, faster responses, cleaner calling.

Theater Educators

Teach students professional show-control concepts with an interface that speaks their language before they've memorized every hotkey.

How It Works

Three layers. One command.

01

You type (or speak)

Enter plain-English commands like "Bring channel 1 to 75" or "Go" in the floating WaveCmd panel.

02

WaveCmd parses & translates

Smart Mode (Apple Intelligence) or Direct Mode (regex) maps your intent to a software-agnostic internal action model.

03

The right message is sent

The active bridge module encodes the correct OSC/UDP packet and fires it to your target software over your local network — in milliseconds.

Under the Hood

Built on solid ground

WaveCmd is written in Swift 6 with SwiftUI, using Apple's latest concurrency primitives and a hand-rolled OSC 1.0 encoder/decoder. No third-party dependencies — ever.

  • Swift 6 Strict concurrency, fully async/await
  • SwiftUI @Observable, @MainActor architecture
  • OSC 1.0 Custom encoder/decoder — zero dependencies
  • Network NWConnection / NWListener for UDP
  • NSPanel Floating window that beats full-screen apps
  • Apple Intelligence On-device NLP for Smart Mode
TestFlight Beta

Be first on stage.

WaveCmd is in active beta development. Join the TestFlight program and help shape the tool before it hits general release. Beta testers get direct access to the developer and influence over what ships next.

No spam. No marketing lists. Just a TestFlight invite when you're in.