ablx.directory

Polyend Tracker Pattern Converter

v1.0.2

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.

adrianandersmanifest author: Adrian AndersNo ratings yet
README · rendered from GitHubView source

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.

Ableton Live ⇄ Polyend Tracker Pattern Converter UI


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 .mtp files 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.

  1. Install root workspace dependencies:

    npm install
    
  2. Build the core tracker-lib:

    npm run build --workspace=@polyend/tracker-lib
    
  3. Build the WebView frontend:

    npm run build --workspace=webview
    
  4. Build and package the Ableton Extension:

    npm run build --workspace=polyend-tracker-pattern-converter
    npm run package --workspace=polyend-tracker-pattern-converter
    

    This 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:

  1. Build and package the .ablx locally using the steps above.
  2. Create a new GitHub Release (or tag): git tag v1.0.0 && git push --tags
  3. Upload polyend-tracker-pattern-converter-1.0.0.ablx as 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.

No ratings yet — be the first

Comments

Sign in to join the discussion.Sign in

No comments yet.