jamcorder-import
v1.0.0Ableton Extension: Import MIDI clips from a Jamcorder App Export zip file directly into Ableton
README · rendered from GitHubView source
jamcorder-import
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
- Right-click a MIDI track in the Arrangement view to reveal an "Import Jamcorder ZIP" context menu action.
- A dark-themed modal dialog opens, where you can drag-and-drop or browse for a Jamcorder export
.zipfile. - 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). - It decompresses and parses each MIDI file, converting note events into Ableton Live's
NoteDescriptionobjects. - 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
No comments yet.