Skip to content

A modern web-based controller for Ableton Live. Control your sessions from any browser with real-time bidirectional sync.

License

Notifications You must be signed in to change notification settings

ryangavin/mission-control

Repository files navigation

Mission Control

Launch clips and control Ableton Live from any browser. Inspired by the legendary Novation Launchpad. See the User Manual for detailed usage instructions.

Mission Control Screenshot

Features

  • Transport Control — Play, stop, record, tap tempo, punch in/out, loop toggle
  • Clip Launching — Fire and stop clips with quantization support (1/32 to 8 bars)
  • Scene Launching — Trigger entire scenes with one click
  • Track Controls — Mute, solo, and arm per track
  • Drag & Drop — Move clips between tracks with automatic type validation
  • Real-time Sync — Instant bidirectional updates between Ableton and the UI
  • Visual Feedback — Color-coded clips, playback progress indicators, playing states

Quick Start

1. Download

Platform Download
macOS (Apple Silicon) Mission.Control.Bridge-aarch64.dmg
macOS (Intel) Mission.Control.Bridge-x64.dmg
Windows Mission.Control.Bridge-x64-setup.exe

Or try the edge build for bleeding edge updates on every commit.

2. Install the Remote Script

Launch Mission Control, then click the tray icon → Install Remote Script.

Tray menu options

Or manually: download AbletonOSC and copy the AbletonOSC folder to:

  • macOS: ~/Music/Ableton/User Library/Remote Scripts/
  • Windows: ~\Documents\Ableton\User Library\Remote Scripts\

3. Enable in Ableton

In Ableton Live, go to Preferences → Link, Tempo & MIDI → Control Surface and select AbletonOSC.

Selecting AbletonOSC in Ableton Live preferences

4. Connect

Open a Live Set, then click the tray icon:

  • Open Mission Control — Opens the UI in a browser on this computer
  • Connect on Mobile — Shows a QR code to connect from a phone or tablet on the same network

The connection status indicator will turn green when connected.

Requirements

Troubleshooting

"Waiting for Ableton Live"

  • Ensure Ableton Live is running with a project open
  • Check that AbletonOSC is selected in Preferences → Link, Tempo & MIDI → Control Surface
  • Try restarting Ableton after installing the remote script

AbletonOSC not appearing in Control Surface list

  • Make sure the folder is named exactly AbletonOSC (no version number)
  • Restart Ableton Live completely after copying the folder
  • Verify the script is in your User Library's Remote Scripts folder. Find your User Library location in Ableton: Preferences → Library → User Library

Controls not responding

  • Check that AbletonOSC is still selected in Control Surface preferences
  • Try refreshing the browser page
  • Restart Ableton Live

Development

Setup

# Install dependencies
bun install

# Start the development server
bun run dev

Open http://localhost:5173 in your browser.

Building

# Build web assets
bun run build

# Build standalone bridge server
bun run build:bridge

# Build desktop app
bun run tauri:build

Platform-specific bridge binaries:

bun run build:bridge:mac-arm   # macOS Apple Silicon
bun run build:bridge:mac-x64   # macOS Intel
bun run build:bridge:win       # Windows x64

Project Structure

mission-control/
├── client/          # Svelte 5 frontend
├── server/          # Bridge server (OSC ↔ WebSocket)
├── protocol/        # Type-safe message protocol
└── desktop/         # Tauri desktop app

Tech Stack

How It Works

Mission Control acts as a bridge between your browser and Ableton Live:

Browser ←—WebSocket—→ Bridge Server ←—OSC—→ Ableton Live (AbletonOSC)

The bridge server translates WebSocket messages to OSC commands and vice versa, enabling real-time control from any modern browser.

Contributing

Contributions are welcome! Please open an issue to discuss significant changes before submitting a PR.

License

GPL-3.0

About

A modern web-based controller for Ableton Live. Control your sessions from any browser with real-time bidirectional sync.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •