Polyend Tracker Pattern Converter
v1.0.2An Ableton Live 12 extension that allows you to bi-directionally convert MIDI clips to and from Polyend Tracker .mtp pattern files. It features an interactive grid editor built as a WebView, which interfaces natively with Live.
Ableton Live ⇄ Polyend Tracker Pattern Converter
An Ableton Live 12 extension that allows you to bi-directionally convert MIDI clips to and from Polyend Tracker .mtp pattern files. It features an interactive grid editor built as a WebView, which interfaces natively with Live.
![]()
Features
- Bi-directional MIDI/MTP Translation: Maps pitch, duration, velocity (V), probability/chance (C), and microtiming (m) between Ableton Live MIDI clips and Polyend Tracker pattern formats.
- Roll (Re-trigger) Detection: Automatically detects rapid pitch repetitions (e.g., 32nd or 64th notes) before layout packing, mapping them efficiently to a single tracker track using the
R(Roll) effect to conserve tracks. - Odd-Time Signature & Custom Step Lengths: Supports free step lengths from 1 to 128, aligning with the Polyend Tracker's custom length limits.
- Full Join Merge & Safe Revert: Merges incoming MIDI data into existing patterns track-by-track. Shows a warning dialog if any tracks with active note data are about to be overwritten, and provides a Cancel (Revert) button to undo the import.
- Persistent Webview State: Remembers your active configurations and editing state when triggering MIDI imports or exports.
- Native File Picking: Safely saves and loads
.mtpfiles using native macOS AppleScript dialog prompts, bypassing browser WebView sandbox restrictions.
Inspiration & References
This project was built with references and inspiration from the following resources:
- tracker-mtp-editor: Inspired the scrolling layout mechanics, cell structural grid rendering, and scroll alignments.
- @polyend/tracker-lib: Utilizes the core binary structures, header compilation, and file serialization specifications for Polyend Tracker files.
- Ableton Live Extensions SDK: Built utilizing the extension-host API and dialog mechanics.
AI-Assisted Development
This project was designed, refactored, and built in partnership with Antigravity, Google DeepMind's agentic AI coding assistant, following strict functional programming patterns (immutability, arrow-only functions, and declarative stream processing).
Getting Started
Prerequisites
- Node.js (version 20 or higher)
- Ableton Live 12 Suite or Beta
Building the Project
Note: The Ableton Extensions SDK is required to build the extension host. It is not included in this repository because the SDK license prohibits redistribution. You must obtain it directly from Ableton.
-
Install root workspace dependencies:
npm install -
Build the core tracker-lib:
npm run build --workspace=@polyend/tracker-lib -
Build the WebView frontend:
npm run build --workspace=webview -
Build and package the Ableton Extension:
npm run build --workspace=polyend-tracker-pattern-converter npm run package --workspace=polyend-tracker-pattern-converterThis produces
src/extension/polyend-tracker-pattern-converter-1.0.0.ablx.
Releasing
Releases are built locally (CI cannot access the Ableton Extensions SDK due to its license terms) and attached manually to GitHub Releases:
- Build and package the
.ablxlocally using the steps above. - Create a new GitHub Release (or tag):
git tag v1.0.0 && git push --tags - Upload
polyend-tracker-pattern-converter-1.0.0.ablxas a release asset in the GitHub Releases UI.
Running the Extension
Run the extension inside Ableton Live by passing your Live application path:
npm start --workspace=polyend-tracker-pattern-converter --live "/Applications/Ableton Live 12 Beta.app"
Rate this extension
One rating per account; you can change it any time.
Comments
No comments yet.