---
title: "QLab → grandMA2 bridge"
url: https://hernandez.systems/en/qlab-grandma2-bridge
lang: en
type: caso
alternate_es: https://hernandez.systems/es/qlab-grandma2-bridge
site: hernandez.systems
network: Osky Networks
---

# QLab → grandMA2 bridge

> A bridge that translates QLab 5 OSC messages into grandMA2 onPC commands over Telnet, firing lighting cues across the network with no MIDI.

## The problem

In a show, audio and video often run on **QLab** (Mac) while lighting runs on a **grandMA2 onPC** console (Windows). Getting each moment of the show to trigger the right lighting usually means setting up physical MIDI, a virtual MIDI port or RTP-MIDI between the two machines.

## The solution

The bridge removes that layer entirely. QLab sends abstract OSC triggers over Ethernet, such as `/lx/go/8`. The bridge maps each one to the grandMA2 command defined in its config file and sends it to the console over **Telnet**, a native grandMA2 interface.

```
QLab ──OSC/UDP──► bridge ──Telnet/TCP──► grandMA2 onPC ──► Command Wing ──DMX──► fixtures
```

Each trigger can run any MA command-line instruction: an executor, a specific cue or a macro. The lighting designer programs the console; the QLab operator just drops a Network Cue into each scene.

## How it works

- **One-line install** from PowerShell, or offline from a USB drive with the downloaded package. It ships with its own portable Python, verifies the package's SHA256, opens the OSC port in the firewall, sets up auto-start with Windows and finishes by showing the IP to enter in QLab.
- **Updating is just reinstalling:** the configuration is preserved.
- **Link test:** a `/lx/ping` cue in QLab gets a `/lx/pong` reply with the console connection status.
- **Test modes** to check the configuration without firing anything, or to fire a single trigger.

## Reliability

- The Telnet connection is persistent with keepalive, so a GO never waits for a connection to open.
- If the console restarts, the bridge reconnects on its own every 2 seconds; if a send fails, it reconnects and retries once.
- If the bridge crashes, it restarts itself, and it refuses to run twice so two instances never split the messages.
- Raw console commands are disabled by default.
- Automated tests run against a simulated grandMA2, no console required.

## Technical details

Python 3.8 or later, with no extra packages. Windows installer for Windows 8.1 or later.

## Status

Public code on GitHub: [MoscoDJ/qlab-grandma2-bridge](https://github.com/MoscoDJ/qlab-grandma2-bridge).

## Related services

- [Live events and interactive experiences](https://hernandez.systems/en/live-events)
- [Automation and bots](https://hernandez.systems/en/automation-and-bots)
