Skip to content

ColonelKernel/AbletonLiveConsole

Repository files navigation

Live Console

A command-palette workflow utility for Ableton Live, built on the Ableton Extensions SDK (public beta). Inspired by REAPER's SWS ReaConsole: right-click a track, clip, or selection, open the console, and type short commands instead of clicking through your set.

rename selected "Lead Vox"
mute all except "Drums" "Bass" "Lead Vox"
rename clips contains "old" "Chorus Guitar"
color clips selected blue
arm tracks contains "vox"
create scene "Chorus"
audit set

Every command shows a preview of exactly what will change before you execute, applies as a single undo step, and reports per-target results. Commands touching more than 5 targets require an explicit confirmation click.

Beta disclaimer — the Extensions SDK is beta-only and its API surface may change between Live beta builds. Live Console is built strictly against SDK 1.0.0-beta.0; anything the SDK can't do (track colors, programmatic selection) is reported honestly in-app rather than faked. See docs/sdk-capability-audit.md.

Requirements

  • Ableton Live 12 Suite beta with the Extension Host (a beta build matching the SDK drop — the SDK docs reference Live 12.4 Beta; check the Centercode release page). Subject to the current SDK docs.
  • Node.js ≥ 24.14.1 (for building/running in development).
  • macOS or Windows.

Install (use)

  1. Build the package (or take a released Live-Console-x.y.z.ablx):
    npm install
    npm run package
  2. In Live: Preferences → Extensions, and install/drag the .ablx there.
  3. Right-click a track header, clip, clip-slot selection, arrangement selection, or scene → Open Live Console…

Develop (run from source)

  1. npm install
  2. Copy .env.example to .env and point EXTENSION_HOST_PATH at your Live beta's host module: …/Ableton Live 12 Beta.app/Contents/Helpers/ExtensionHost/ExtensionHostNodeModule.node
  3. Enable Developer Mode in Live → Preferences → Extensions (required — npm start can't connect without it).
  4. npm start — builds and loads the extension into Live.

Other scripts: npm test (parser/engine tests, no Live needed) · npm run typecheck · npm run build · npm run package. See docs/development.md for the architecture and a browser-only UI preview workflow.

How "selected" works (important)

The Extensions SDK has no API to read Live's current selection. The only selection an extension ever sees is what you right-clicked to open the console:

You open the console from… "selected" means
a track header that track
a clip / clip slot that clip (and its track for mute/solo/arm)
a selection of session clip slots those clips, and their tracks
an arrangement time selection the selected lanes' tracks + clips in the time range

Name-based commands (mute track "Bass", rename tracks contains "vox" …, mute all except …) work regardless of selection. The console header always tells you what it considers selected.

Commands

See docs/commands.md for the full list with examples — or type help in the console. Highlights:

Command Status
rename tracks/clips (selected, by name, contains-match; auto-numbering for multiples) supported
mute / unmute / solo / unsolo / arm / disarm (+ all, all except …) supported
color clips … beta (clip-color encoding is undocumented in the SDK)
create scene "Name" supported
audit set (read-only set report) supported
clean names (preview) / clean names apply supported — preview is read-only; apply tidies track names through the preview/confirm pipeline
color tracks …, select tracks … unavailable — not exposed by the SDK beta

Known limitations

  • Modal console: the SDK's only UI surface is a modal dialog returning a single string, so each executed command closes and reopens the console (you'll see a blink). Read-only commands (audit set, clean names, help) run instantly without the round-trip.
  • No track colors, no programmatic selection, no transport — absent from SDK 1.0.0-beta.0 (verified in the capability audit).
  • Clip colors may snap to Live's palette; the numeric encoding is undocumented.
  • create scene lands as two undo steps (create + rename) due to the SDK's async create.
  • Very large sets (> 4000 clips) disable clips contains search; selected clips still work.
  • arm/disarm skip group/return/main tracks with a warning.

Privacy

All processing is local. No network access, no telemetry, no external services — your set's data never leaves the machine.

Project docs

About

Command-palette workflow utility for Ableton Live, inspired by REAPER's ReaConsole

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages