URL to Clip
v0.1.0exampleRight‑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.
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 ffmpegWithout 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.
Comments
No comments yet.