ablx.directory

URL to Clip

v0.1.0example

Right‑click in Ableton Live → Import audio from URL… → paste a link → it's downloaded with yt‑dlp, extracted to WAV with ffmpeg, imported into the project, and dropped in as an audio clip named after the video title.

AKERmanifest author: AdrienNo ratings yet
README · rendered from GitHubView source

URL → Clip (showcase)

Right‑click in Ableton Live → Import audio from URL… → paste a link → it's downloaded with yt‑dlp, extracted to WAV with ffmpeg, imported into the project, and dropped in as an audio clip named after the video title.

Works in three places:

  • Session view — right‑click a clip slot → clip lands in that slot.
  • Arrangement view (time selection) — select a range on an audio track → clip lands at the selection start.
  • Arrangement view (track) — right‑click an audio track with no selection → clip lands at bar 1.

A progress dialog shows download % and can be cancelled; a preflight check tells you if the tools are missing.

✨ How this was built

This entire extension was generated by Claude Code + the ableton-extension skill from a single request:

« Alors pour le test maison j'aimerai développer un outil basé sur yt‑dlp pour télécharger des clips audios dans la vue session comme la vue arrangement à partir de leur URL, juste un clic droit et une interface pour saisir l'URL. »

("I'd like a yt‑dlp‑based tool to download audio clips into the Session view and the Arrangement view from their URL — just a right‑click and an interface to enter the URL.")

Claude then asked four clarifying questions; the chosen answers shaped the build: binaries via Homebrew/PATH, WAV output (ffmpeg), both arrangement scopes (selection + track), and clip named from the video title. It compiled clean (tsc --noEmit) and worked first try in Live.

✅ Prerequisites

Required — install the tools first (the extension shells out to them):

brew install yt-dlp ffmpeg

Without them, the extension shows a dialog telling you to install them.

Also:

  • Node.js ≥ 24 and an Ableton Live Beta build with Developer Mode on.
  • The SDK/CLI tarballs in vendor/ (see that folder's README — not redistributed here).

▶️ Run

# 1. put the SDK + CLI .tgz in vendor/ (see vendor/README.md), then:
npm install
# 2. copy .env.example to .env and set EXTENSION_HOST_PATH to your Live app
cp .env.example .env
# 3. in Live (Beta): Preferences → Extensions → enable Developer Mode, then:
npm start

Then right‑click a clip slot, an arrangement time selection, or an audio track → Import audio from URL….

How it works (sandbox‑safe)

yt‑dlp writes the WAV into the extension's temp directory (the only writable scratch under the SDK's filesystem sandbox); context.resources.importIntoProject() then hands that file to Live (host‑side) and returns the managed path used to create the clip. The binaries are located on PATH (with /opt/homebrew/bin and /usr/local/bin probed explicitly, since a GUI‑launched host can have a minimal PATH). See src/extension.ts.

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.