ablx.directory

jamcorder-import

v1.0.0

Ableton Extension: Import MIDI clips from a Jamcorder App Export zip file directly into Ableton

Brandon Lincoln Snydermanifest author: brandonNo ratings yet
README · rendered from GitHubView source

jamcorder-import

License: MIT

An Ableton Live 12 Extension that imports Jamcorder practice session ZIPs, extracts the MIDI files, and organizes them into MIDI tracks in the Arrangement view.

Extensions are a new feature in Ableton Live 12.4.5 (Suite), currently in beta. They won't work in previous versions.

Grab the latest jamcorder-import-<version>.ablx from this repo's Releases and install it into Live (Preferences → Extensions). You don't need any of the build steps below.

What It Does

  1. Right-click a MIDI track in the Arrangement view to reveal an "Import Jamcorder ZIP" context menu action.
  2. A dark-themed modal dialog opens, where you can drag-and-drop or browse for a Jamcorder export .zip file.
  3. The extension parses the ZIP file, identifies practice session folders (matching Jmx-A*.mid/), and extracts the gzip-compressed MIDI files (N.stone.mid.gz).
  4. It decompresses and parses each MIDI file, converting note events into Ableton Live's NoteDescription objects.
  5. For each practice session, it creates a new MIDI track in the Arrangement view and places the extracted clips, named with the session's timestamp.

Scripts

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

Prerequisites

  • Ableton Live 12 (with Extension Host enabled)
  • Node.js >= 24.14.1 (to build from source)

Setup

The path to Ableton Live's Extension Host module is stored in .env as EXTENSION_HOST_PATH. Edit this file if your Live install moves.

Dependencies

  • Runtime: @ableton-extensions/sdk, adm-zip
  • Dev: @ableton-extensions/cli, esbuild, tsx, typescript, vite

Project Structure

jamcorder-import/
├── src/
│   ├── extension.ts       # Core extension logic, ZIP parsing, MIDI extraction
│   └── html.d.ts          # TypeScript declaration for .html imports
├── ui/
│   └── interface.html     # Drag-and-drop Jamcorder ZIP dialog
├── vendor/                # Vendored SDK & CLI tarballs
├── dist/                  # Bundled output (generated)
├── build.ts               # esbuild configuration
├── vite.config.ts         # Vite dev server for UI
├── manifest.json          # Ableton extension manifest
├── package.json           # npm package definition
└── tsconfig.json          # TypeScript configuration

## License

MIT — see [LICENSE](LICENSE).

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.