A macOS menu bar app that displays your current GrandMA3 cue in a web browser.
This app runs quietly in your macOS menu bar and serves a web-based cue display that shows:
- Sequence name on the first line
- Cue number and name on the second line
The launcher window shows the display URL and your network IP for easy access from any device.
- Web-based display - View cues in any browser on any device on your network
- Menu bar app - Runs silently in your macOS menu bar
- OSC communication - Receives cue data from GrandMA3 via UDP
- OSC log viewer - Debug incoming OSC messages at
/osc-log
- Download the DMG from Releases (or build from source)
- Install by dragging "GMA3 Cue Display" to Applications
- Fix macOS security warning - Since the app isn't signed with an Apple Developer certificate, macOS may show a "damaged" error. Run this command in Terminal:
xattr -cr /Applications/GMA3\ Cue\ Display.app
- Launch the app - it appears in your menu bar
- Open the cue display in your browser from the launcher window
The launcher window shows:
- Display URL to open in any browser
- OSC port for GrandMA3 configuration
- Connection status indicator
- Press Menu
- Navigate to In & Out
- Select OSC
- Enable Output: Toggle ON
- Destination IP: Enter the IP address of the computer running this app
- Port: Set to
8000 - Mode: UDP
In the OSC configuration grid, set Send to Yes for the rows you want to monitor.
When a cue is triggered on the console, you should see the cue name update in real-time on the web display.
| Port | Protocol | Description |
|---|---|---|
| 3000 | HTTP/WebSocket | Web display server |
| 8000 | UDP | OSC input from GrandMA3 |
MA3 Cue Display/
├── gma3-cue-display-tauri/ # Tauri menu bar app
│ ├── src-tauri/
│ │ ├── src/lib.rs # Main Rust code (server + OSC)
│ │ ├── Cargo.toml # Rust dependencies
│ │ └── tauri.conf.json # Tauri configuration
│ └── src/
│ ├── index.html # Launcher window UI
│ ├── web-display.html # Web cue display (served to browsers)
│ └── osc-log.html # OSC message log viewer
└── README.md
┌─────────────────┐ OSC (UDP) ┌─────────────────┐
│ GrandMA3 │ ────────────────────────▶ │ Menu Bar App │
│ Console │ Port 8000 │ (Tauri) │
└─────────────────┘ └────────┬────────┘
│
│ WebSocket
│ Port 3000
┌────────▼────────┐
│ Web Browser │
│ (Cue Display) │
└─────────────────┘
Open http://<your-ip>:3000 in any browser to view the cue display.
Returns the current state as JSON:
{
"sequenceName": "Seq 7",
"cueNumber": "3.5",
"cueName": "Song 1 - Chorus",
"progress": 100,
"isActive": true,
"lastUpdate": "2024-01-15T20:30:00.000Z",
"connected": true
}Connect to the server's WebSocket endpoint to receive real-time updates. Messages are JSON with a type field:
state- Initial state on connectioncueUpdate- Cue information has changedoscLog- New OSC message received (for log viewers)
Returns the last 100 OSC messages as a JSON array.
cd gma3-cue-display-tauri
cargo tauri buildThe built app will be in src-tauri/target/release/bundle/.
MIT License - see LICENSE for details.

