Surfaces
Ableton Live extension feature-complete - awaiting SDK release
Leave Red Pen review notes on clips, tracks, scenes, devices, and arrangement positions while you produce. Notes show up inside Live as locators and clip tints, stay scoped to the Set they belong to, and sync two-way with the Red Pen Hub.
1.0.0-beta.0) - not on npm, distributed through a closed Centercode program, and only runnable against a matching Live Beta build. So there is nothing to install yet: Red Pen for Ableton is complete and dog-fooded daily on real album work, and it ships the moment the platform does.
What it is
Red Pen for Ableton is a Live extension - a Node.js plus TypeScript project that Live loads, not a Max for Live device. It brings the Red Pen concept into the DAW: while you are working on a track, you attach a typed note to a specific musical object instead of keeping a mental list or a separate document. "Fix the timing on this clip", "this scene needs a transition", "the drop at bar 49 is too quiet" - each becomes a note pinned to the thing it is about, visible both on the board and inside Live itself.
It is the same thesis as the whole family: one portable, vanilla-JavaScript notes panel over a local store. On WordPress the store is the database, on Node it is a file, and in Ableton it is a file in the extension's own storage directory - the same face over a different backend.
Capturing notes
Three entries appear in the right-click Extensions submenu on every surface a producer note attaches to - MIDI and audio clips, MIDI and audio tracks, scenes, clip slots, Simpler, Drum Rack, and samples. Notes attach to the single item you clicked:
- Red Pen: Open board opens the full notes board, pre-anchored to whatever you clicked.
- Red Pen: Quick note is the one-shot capture path: a small dialog, type the thought, Enter saves, and you never leave the flow. Leading tokens set the metadata as you type -
!problem,?question,*idea,!!high priority. - Red Pen: Resolve notes closes the open notes on the thing you clicked - fix the clip, right-click it, done, without opening the board.
Track notes also snapshot the mixer state at capture time - volume, pan, sends, and the device chain - because mix notes decay as the mix moves on; the snapshot pins the evidence. An optional setting auto-names unnamed clips on capture ("<track> <bar>" in arrangement, "<track> S-05" in session), which keeps anchors durable through a Set cleanup.
The notes board
Because the Live SDK exposes a real webview, the Red Pen panel runs inside Live almost verbatim, themed with Live's own dark tokens. The board is built for triage at album scale:
- Open, Resolved, and Settings tabs with live counts, plus a Refresh button that re-syncs with the store and the Hub.
- Search, type and track filters, and two sort modes - Newest, or Timeline order so a mix pass follows the song rather than the capture order. The sort choice sticks across opens.
- Three-state status - open, in progress, resolved - with a 4-second Undo after each resolve, and edit, threaded replies, and a two-step delete on every card.
- Flash blinks the note's clip in Live for about a second (white if the clip is tinted red), the closest thing to "show me" the SDK allows. It is called Flash because that is what it does - see Honest limitations. An arrangement note gets a disabled Flash with an explanation rather than no button at all, pointing you at the note's
RP:locator. - A time signature setting (Settings > Timeline). SDK 1.0.0 exposes no song time signature, so bar numbers were silently wrong outside 4/4. Set the meter once and the bar labels match Live's ruler; existing arrangement labels are recomputed at the next board open.
- Guards everywhere it matters: the board saves on every change, exits warn about unsaved typing, a failed save must be closed deliberately, and in-progress edits survive re-renders.
Notes show up inside Live
The board is a modal, so Red Pen mirrors notes into Live-native objects you can see while you work:
- Locators: every open note with a timeline position becomes an "RP:" locator in the arrangement, carrying an excerpt of the note text. They are real Live cue points, so they save into the
.alsand travel with the Set. This is on by default and switchable off in Settings. Resolving the note removes its locator, and a locator whose clip was deleted releases itself. - Locators are the anchor, not a decoration: insert eight bars of intro and every arrangement note used to point eight bars early, silently. The SDK has no observers and no timeline-edit notification, so there is nothing to react to - but Live moves its own locators. The board-open heal reads the locator back and the note follows it, and dragging an
RP:locator by hand moves its note too. Matching is by label; anything ambiguous is left alone rather than moved to the wrong bar. - Session tints: session view has no locators, so clips with open notes are tinted Red Pen red instead (opt-in). The clip's own color is restored on resolve - and if you recolor the channel mid-review, the tint follows and remembers your new color.
- Self-healing anchors: rename a track or clip, or move a clip, and the board-open heal pass re-finds the target through fallback identity (position, file path, beat) and rewrites the anchor. A target that no longer exists gets a "Missing" chip rather than a stale lie.
Per-Set scoping
The SDK exposes no Set file path, so Red Pen gives each Set its own identity: a marker locator named RP#<id> at beat 0, created on your first note. It saves into the .als, survives renames, and travels with copies. The board shows only the open Set's notes - notes from other Sets never appear, so you can never resolve the wrong project's note from Live. The Set's human name lives in the marker too: click the header to name it, or let the Hub detect it automatically from Live's window title. Legacy notes without a Set show an "Unlinked" chip and an Adopt action.
Save As is the hard case. Live copies every locator into the new file, the RP# identity marker included, so two Sets would claim one identity and share one note pool. The API exposes no file name, path or save event; the only signal available is Live's window title, which the Hub can read. When it disagrees with the marker's name the board asks: New version mints a fresh identity and carries the open notes over (resolved ones stay with the old file), Same Set keeps one identity and adopts the name, Not now is remembered for that name. It never decides on its own - and without the Hub there is no detection at all.
Hub sync
Turn on Push notes to Red Pen Hub in Settings and the extension mirrors its store to your local Hub - one project per Set, at board open and after every save. The sync is two-way with timestamped conflict resolution: resolve a note on the Hub board and it flows back into Live (locators and tints included); resolve in Live and the Hub follows, with the newer action always winning. The board tells you when the Hub is unreachable instead of pretending, and a Test button verifies the connection with a real push. The Hub connects every project, free.
Anchors
Every note records what it was attached to:
| Field | Meaning |
|---|---|
| kind | clip, track, scene, device, arrangement, or general |
| label | A human-readable description of the target, shown on the card |
| track / clip / scene name | Names captured at click time, so a note reads "Clip: Lead (Synths)" rather than an opaque reference - with the channel color on the chip |
| view | Session or Arrangement, so same-named clips in the two views can never be confused |
| beat position | For arrangement clips, the position in beats - this is what drives the locator |
| durability fields | Track and scene indexes and audio file paths, used by the heal pass when a rename breaks the name match |
| mix state | Track notes only: the mixer and device chain at capture time |
Where your notes are stored
Worth being explicit about: your note text never goes into the .als. Notes live in an external JSON file, separate from the Set. Red Pen does write three things into the Set, and the Settings tab lists all three so the docs and the software cannot drift apart: the RP# identity marker at bar 1 (always), RP: locators for timed notes (on by default, switchable off), and session clip colours (off by default, restored on resolve). A packaged extension uses the per-extension storage directory Live provides; in developer mode it falls back to a stable folder in your home directory:
~/.red-pen-ableton/notes.json
One file holds every Set's notes (each stamped with its Set's id), written atomically with an automatic .bak of the previous version. Plain JSON you can read, back up, or move.
Honest limitations
The remaining edges are the platform's, not the design's:
- No change events. The SDK has no observers, so syncing happens at command time - board opens, saves, captures. Changes you make in Live (renames, recolors, deletions) reconcile at the next board open rather than instantly.
- No selection or view APIs. Live exposes no way for an extension to select a clip, scroll the view, switch between Session and Arrangement, or move the transport - so the button is called Flash and it blinks a colour rather than jumping. If Ableton ships those APIs, the upgrade paths are already in place.
- No song time signature. Song is tracks, scenes, cue points, tempo and scale; the only signature in the API belongs to a Scene, which is session-only. That is why the meter is a setting you fill in rather than something Red Pen reads.
- Beta-gated distribution. Running it today requires the Live Beta with Developer Mode and the extension host - which is why this page documents rather than links a download.
When will this ship?
Red Pen for Ableton is gated on the Live Extensions SDK reaching general availability - the surface itself is done and in daily use on real album production. When the platform ships publicly, this becomes a release candidate as-is. Track it on the Roadmap.