Releases: AnyByte/LinkBridge
Release list
LinkBridge v2.0.0 — macOS port
This release replaces the original Linux/ALSA implementation with a pure-Python macOS menu bar app that forwards Ableton Link tempo to a hardware MIDI clock output. The pre-port Linux sources remain available in git history at commit 33d8e36 and earlier.
Highlights
- Pure-Python menu bar app built on
rumps— no C compilation required, no native dependencies of our own - Bidirectional MIDI via
mido+python-rtmidi(CoreMIDI backend) - 24 ppqn clock generator with drift-compensated absolute-time scheduling and graceful device-disappearance handling
- Reactive Ableton Link integration via
aalinkcallbacks (no polling) - Settings persistence at
~/Library/Application Support/LinkBridge/settings.json - Distributed as a
.dmgdisk image containing theLinkBridge.appbundle and a drag-to-install Applications shortcut, with custom icon andLSUIElement(no Dock entry) - 22 unit tests covering Settings, MidiOutput, and ClockEngine using injected fake clocks / fake MIDI sinks
Install
- Download
LinkBridge-v2.0.0.dmgfrom the assets below - Double-click the
.dmgto mount it, then dragLinkBridge.apponto theApplicationsshortcut in the disk image window - Eject the disk image
- First launch (Gatekeeper bypass for unsigned apps): the bundle is unsigned, so macOS Sequoia (15+) will block the first launch with "could not be opened because Apple cannot check it for malicious software." Apple removed the older right-click → Open shortcut in Sequoia, so the only way through is via System Settings:
- Double-click
LinkBridge.apponce. It will be blocked — dismiss the dialog. - Open System Settings → Privacy & Security
- Scroll down to the Security section. You'll see "LinkBridge was blocked to protect your Mac" with an Open Anyway button on the right
- Click Open Anyway, authenticate with Touch ID or your password if prompted, and confirm the follow-up dialog
- LinkBridge launches. Subsequent launches work normally without any prompts.
- Double-click
- macOS will then ask for local network permission so Ableton Link can discover peers — click Allow
- The
♪ <bpm>icon appears in your menu bar. Click it and pick your MIDI output device under Output Device
Compatible DJ software / DAWs
LinkBridge passes through whatever Ableton Link tempo it can see. Works out of the box with any host that broadcasts Link tempo:
- djay Pro for Mac (Algoriddim) — fully automatic
- Mixxx 2.5+ (open source) — fully automatic
- Ableton Live, Logic Pro with Link, GarageBand — fully automatic
- Rekordbox 7.x — works with a small manual step (Rekordbox is one-way Link; see the README for the workflow)
Hardware notes — Novation Circuit Tracks
If you're using a Novation Circuit Tracks, enable MIDI Clock Rx in its Setup view first (hold `Shift` + `Save`, find the Clock Rx pad in the bottom row, tap it). When LinkBridge is streaming clock and the Circuit Tracks is stopped, you'll see `SYN` in red on the Tempo display — press Play and the pattern follows the incoming tempo. If a pattern was already playing when LinkBridge connected, just press Stop on the Circuit Tracks once and it will latch.
Requirements
- macOS 15 (Sequoia) or later, Apple Silicon (tested on M2 Pro)
- A USB-connected MIDI device with external clock support
- An Ableton Link source on the same machine or LAN
Known limitations
- Bundle is unsigned (no Apple Developer ID) — Gatekeeper blocks the first launch and requires the System Settings → Privacy & Security → "Open Anyway" flow described in the Install section
- Rekordbox 7's Ableton Link integration is one-way — Rekordbox does not broadcast a deck's tempo to Link. To use with Rekordbox, drive the tempo manually from the Ableton Link sub-window's `+`/`-`/`TAP` controls. See the README's Compatibility — Rekordbox section for details, or look at `rkbx_link` as a companion that reads Rekordbox's process memory directly
- Auto-launch on login is not built in — add `LinkBridge.app` to System Settings → General → Login Items if you want it
- Code signing / notarization deferred (requires an Apple Developer Program subscription)
Full documentation
See README.md for the complete usage guide, hardware notes, architecture overview, and the Rekordbox manual workflow.
Subsequent releases
From this point forward, releases are cut by clicking the Run workflow button on the release workflow in GitHub Actions. The workflow handles version bumping, tagging, building, and creating a draft release automatically.