ablx.directory

xo

v1.1.0

Ableton Live extensions

Exit OnlyNo ratings yet
README · rendered from GitHubView source

xo extensions

Ableton extensions that are useful to me. I'm testing this mainly on my own material so use at your own risk!

Available Commands

All commands are available from the Ableton context menu for the matching object type.

AudioClip commands

  • Split at Warp Markers: Splits the selected clip in Arrangement view at each warp marker.
  • Split at Grid: Splits the selected clip at each current grid line. The minimum supported grid size is 16th notes due to API clip-length limits.

AudioTrack commands

  • Sort Clips by Length: Reorders all clips on the selected track by clip duration and recreates them in sorted order.
  • Rename Clips on Track: Renames each clip on the selected track to <track-name>-<index> with zero-padded numbering.
  • Trim Clips to Grid: For clips longer than the current grid length, recreates them with the same start time and trims duration to exactly one grid unit.

Get Started

An Ableton Live extension built with @ableton-extensions/sdk. Learn about building extensions: https://ableton.github.io/extensions-sdk/

Setup

The path to Ableton Live's Extension Host module is stored in .env as EXTENSION_HOST_PATH. The generator filled this in for you; edit it if your install moves.

Scripts

npm start                  # build + run in Live's Extension Host
npm run build              # production bundle of src/extension.ts
npm run build:dev          # dev bundle (sourcemaps, not minified)
npm run package            # build for production + create a .ablx archive

Debug logging

To enable verbose troubleshooting logs for the split commands, run with:

XO_DEBUG_WARP_SPLIT=1 npm start

Releasing a new version

Use the release script to bump versions, sync manifest.json, build/package, commit, tag, and push tags.

# Bump patch version (1.1.0 -> 1.1.1)
npm run release -- patch

# Bump minor version (1.1.0 -> 1.2.0)
npm run release -- minor

# Bump major version (1.1.0 -> 2.0.0)
npm run release -- major

# Or set an explicit version
npm run release -- 1.2.3

# Preview steps without changing files/git
npm run release -- patch --dry-run

What npm run release -- <target> does:

  • Runs npm version <target> --no-git-tag-version (updates package.json and package-lock.json).
  • Runs node scripts/sync-version.mjs (copies that version into manifest.json).
  • Runs npm run package to build and create the .ablx archive.
  • Runs git add package.json package-lock.json manifest.json.
  • Commits with git commit -m "release: v<version>".
  • Creates a git tag v<version>.
  • Pushes tags with git push --tags.

Use --dry-run (or -n) to print the exact commands and planned tag without modifying files, committing, tagging, or pushing.

If you also want to push the release commit to your branch:

git push

Rate this extension

One rating per account; you can change it any time.

No ratings yet — be the first

Comments

Sign in to join the discussion.Sign in

No comments yet.