s3g Tracker
s3g Tracker is a MIDI-generating CLAP instrument for REAPER. It follows the host transport and tempo, sequences as many as 32 polymetric tracks, and publishes sample-offset notes on MIDI channels 1–16 through one CLAP note-output port. Sound is produced by downstream s3g-dsp drums, samplers, or other instrument plug-ins.
This guide describes the current VSTGUI Tracker build, including the September 2026 updates. Older downloads may show earlier interfaces. Tracker is now a CLAP-only MIDI product; its former standalone Mac app is retired.
The Mac build has been locally tested. A Windows x64 test build contains the same ten pages, but native Windows/REAPER acceptance is still pending. Do not treat the test build as an accepted Windows release. See Platform and resource setup.
Workflow
- Insert
s3g Trackerbefore a receiving instrument in a REAPER FX chain, or place it on a track whose MIDI output is routed to other tracks. - Route its MIDI output to a downstream instrument and monitor that instrument's audio through REAPER.
- For each tracker lane, choose a
CH01–CH16MIDI channel in the lane header. - Enter notes and sequencing actions, then start REAPER's transport. The pattern is saved automatically with the REAPER project.
Workspace and Resizing
The ten top tabs select TRACKER, SONG, GEOMETRY, BURSTS, PHRASES, ASSEMBLE, RESHAPE, WARPS, CONSOLE, and HELP. These are views and tools for one composition, not independent plug-ins. Project edits share the same undo history.
There are two different kinds of zoom:
- Whole-interface size: resize the REAPER plug-in window to scale the interface proportionally from 65% to 200%. This enlarges buttons, labels, menus, and graphics together. Use it for readability on a smaller display.
- Tracker grid zoom: the
− / 100% / +controls in VIEW change only grid density, from 55% to 180%. Use the scrollbars or wheel to reach off-screen rows and lanes. This is independent of the outer window size.
Geometry, Bursts, Phrases, Assemble, Reshape, Warps, Console, and Help can detach with the ↗ button; double-clicking a tool tab also toggles detachment. Close the detached window or use ↙ to reattach it. Tracker and Song stay embedded. Detached tools resize their workspace layout rather than applying Tracker's grid zoom, and continue to share the same live composition.
Drop-down and right-click menus use the s3g-dsp appearance, with item separators and compact nested submenus. Exact text entry uses the page's own text field: double-click a cell or an editable numeric value, type, then press Return/Enter to commit or Escape to cancel. A field that rejects a value stays open so it can be corrected.
Host Transport and Timing
REAPER owns the audio device, tempo, transport, rendering, instruments, effects, and final mix. HOST BPM is read-only. The BPM multiplier in Tracker's TRANSPORT toolbox scales that tempo by 1/4×, 1/2×, 2/3×, 1×, 3/2×, 2×, or 4×; it does not set REAPER's BPM.
The play button requests host play or continue. SYNC ALL forces every lane column to row 1 without stopping or seeking REAPER; it ignores the columns' phase offsets for that launch. Click it while stopped to queue a synchronized start, or while playing to realign the tracker at the next processing boundary. The loop button applies the displayed row range across every track column. PANIC releases all notes tracked as active and sends MIDI CC 123 on channels 1–16.
Normal host starts, seeks, and loop discontinuities remain host-timeline aligned and honor each column's phase. Pattern-boundary changes are prepared outside the audio callback and swapped at a safe musical boundary.
Graphics do not drive playback. The grid, Geometry, Warps, and audition cursors read audio-derived display snapshots; a slow display or a stalled GUI does not reschedule MIDI. Tracker retains its presentation holdback so the graphics follow the audible state. After a missed refresh, the display catches up to the current snapshot instead of playing back a queue of old frames.
SWING supports 50–75%; drag or scroll for adjustment, use Option/Alt for finer steps, or Option/Alt-click to reset. FILL latches a live condition used by CD FILL and CD !FILL; Shift-hold makes it momentary. FILL is a performance control, not a saved note edit.
MIDI Routing
Tracker exposes one channel-addressed CLAP note-output port and one MIDI input for authoring/recording. Every tracker lane owns a one-based output channel selected with its CHxx control. There is no tracker-global channel assignment and no direct CoreMIDI or Windows MIDI-device selection: REAPER decides which inputs reach Tracker and which downstream track or plug-in receives its output.
Several downstream instrument instances may share one REAPER track and listen on different channels. For clearer mixing and plug-in chains, create MIDI sends from the Tracker track and filter channels at the receiving tracks or instruments. Use another Tracker instance when a project needs more than 16 independently addressed destinations.
MIDI 1.0 cannot independently identify overlapping copies of the same pitch on the same channel. Tracker therefore uses a deterministic latest-note-wins policy: a replacement onset sends Note Off immediately before the new Note On, and the older note's scheduled gate cannot stop the replacement. Use different channels when overlapping unisons must sustain independently.
MIDI Step Recording
Route a REAPER MIDI input to Tracker, choose the destination in the recording LANE menu, then choose REC STEP, REC Q, or REC MT. The armed lane is independent of the editing cursor and the playback-follow source. Armed MIDI is passed through on the destination lane's output channel. The input channel is reported in Console but does not override that destination.
| Mode | Recorded result |
|---|---|
REC OFF | Disarms input capture. Since 0.4.1, live notes still pass through on their original MIDI channels for audition. |
REC STEP | Writes a paired NOTE/VOL stack on the editing row of the armed lane. A held chord is one step; releasing its final key advances by VIEW's JUMP amount. Physical note-off timing is not written as a duration. |
REC Q | Quantized live recording: places notes at playback rows in the armed NOTE cycle, fills held duration with HLD, and ends it with KIL. |
REC MT | Microtimed live recording: also writes onset and release offsets as MT in an existing MT cell or an available SEQ pair. |
Microtiming is bounded by the project's MicroTime range and reports when an extreme offset is clamped. If both SEQ cells on an onset or release row already contain other actions, that boundary is rejected transactionally instead of overwriting them. Live modes require running REAPER transport and target one selected pattern; MIDI-file import is not part of this version.
Since 0.4.1, CC, pressure, program changes, other MIDI messages and SysEx pass through without becoming recorded notes. Armed notes are monitored once on the recording lane's channel, not duplicated by thru. For NEON hardware use the same-track chain Utility Neon MIDI → Tracker → Sample Neon 32, with the Utility's TRACKER + SAMPLE NEON route, Base Note 36, Tracker lanes CH01, and Neon OWNER on. Primary SAMPLE pads record notes 36–67 across banks A–D; editor commands travel separately. Select performance banks on the hardware or Utility. Do not add a parallel raw-controller send or a hardware MIDI return to NEON.
Tracker Grid
Every track offers seven editable columns. The default compact view keeps NOTE and VOL at their full widths; EXPAND DETAIL reveals both sequencing pairs and GATE, while COLLAPSE DETAIL hides them again.
| Column | Purpose | Entry |
|---|---|---|
NOTE | MIDI note, rest, retrigger, hold, or kill. | 60, C-4, ---, RPT, HLD, or KIL |
VOL | Normalized velocity sent as MIDI 0–127. | 0.000–1.000, DEF, or PRV |
SEQ1 | First sequencing behavior. | Action code, full name, PRV, or --- |
V1 | Value for SEQ1; its header selects STP or LIN. | 0.000–1.000, MIDI 0–127 for CC, or PRV |
SEQ2 | Second sequencing behavior. | Action code, full name, PRV, or --- |
V2 | Value for SEQ2; its header selects STP or LIN. | 0.000–1.000, MIDI 0–127 for CC, or PRV |
GATE | Pitch-aligned note duration; its cycle advances independently. | DEF, 0.01–64 rows, TIE, or a stack such as 0.5+TIE+1.25 |
NOTE: NAME displays pitches as names such as C-4. NOTE: MIDI displays the same stored pitch as its decimal MIDI value, such as 60. This is a view-only option: files and playback do not change, and either form remains valid when editing a note.
Each column advances independently and owns its length, stride, phase, direction, mute state, and playhead. One track can therefore combine a 16-row note pattern, a 7-row volume pattern, and a 5-row probability pattern.
Below the lane name, channel, and SYNC controls, each column has separate label, length/stride, READ, direction, and mute rows. Double-click length to enter 24 or 24x2; double-click READ to set its one-based starting row. Click DIR to cycle forward >, reverse <, palindrome <>, and random RND. Click the bottom MUTE target independently. Double-click a lane name to rename it; right-click the name to move the complete lane or make it the playback-follow source.
NOTE supports stacks of up to eight pitches, for example 60+64+67. Matching VOL, MT, and GATE stacks can address those voices individually; compact cells abbreviate stacks, while inline editing exposes the full token. GATE DEF uses the transport gate default; numeric gates are measured in rows, and TIE sustains rather than scheduling a fixed gate release. Bursts carry their own per-event gates.
Sequencing Actions
Right-click a SEQ1 or SEQ2 cell to choose an action with its abbreviation and value meaning. Direct text entry accepts the code, full name, or stable command name.
| Code | Action | Value behavior |
|---|---|---|
RR | Ratchet | 2–8 onsets within one tracker tick. |
MT | Microtime | Early at 0, centered at 0.5, late at 1. |
DL | Delay | 0–1 complete tracker tick. |
FL | Flam | 6–60 ms quieter secondary onset. |
ST | Stutter | 2–8 onsets extending across following ticks. |
AC | Accent | 0.5×–1.5× onset velocity. |
GL | Ghost | Half-tick secondary onset at reduced velocity. |
PR | Probability | Deterministic 0–100% note gate. |
SK | Skip | Play once per 2–8 visits to the row. |
OF | Note Offset | Read NOTE from four rows back to four ahead. |
RP | Repeat Previous | Chance of filling an empty source with the last emitted note. |
EU | Euclidean Gate | One through NOTE-length Euclidean hits. |
CD | Condition | Local cycle, Song-row, Song-loop, or live FILL condition; right-click its value to choose by name. |
EN | Song Energy | Play when the active Song row's energy meets the 0–1 threshold. |
CC0–CC127 | MIDI Control Change | Send a 7-bit controller value on the lane's MIDI channel, including on NOTE rest rows. |
CD accepts local ratios and named conditions such as FIRST, LAST, FILL, !FILL, SFIRST, SLAST, RODD, REVEN, and Song-loop ratios such as S2:4. Use the named menu rather than guessing the encoded value. Song's EN % column supplies the energy used by EN; it is a compositional gate, not an audio loudness meter.
Each V lane has its own interpolation mode. Click its V1 STP/LIN or V2 STP/LIN header, or use interp <target> <v1|v2> <step|linear>. STEP sends only the authored value at each visited CC row. LINEAR sends intermediate integer CC values toward the next visited row when it contains the same controller. Direction, stride, phase, and polymetric lane traversal determine which row is “next”; empty rows, another controller, or another action end the ramp. Interpolation is capped at 200 messages per second and 128 generated events per tracker tick across the project, while every authored endpoint is preserved.
When both pairs resolve the same kind of source transform, SEQ2 wins. Probability, skip, offset, repeat-previous, and Euclidean gating resolve the note source before ratchet, microtime, delay, flam, stutter, accent, and ghost expand its timing.
The Console command eu <target> <pulses> <steps> also accepts overfull rhythms up to eight pulses per step. For example, eu @kick 20 16 fills the 16 NOTE steps, distributes the four extra pulses across the cycle, and writes correctly valued RR cells into an available SEQ pair. The generated SEQ action and value columns are length-, stride-, phase-, and direction-aligned with NOTE so each burst remains on its intended step. Forward, reverse, and palindrome are supported; overfull random traversal is rejected because independently randomized NOTE and SEQ heads cannot stay aligned. Running eu again replaces RR cells in its generated row span, and unrelated SEQ actions are never overwritten.
Compact symbol reference
The compact grammar uses one meaning per standalone symbol. Removed legacy spellings are rejected instead of being interpreted differently by context.
| Context | Symbols | Meaning |
|---|---|---|
| VOL / FX level | ! + * . | 1.00, 0.85, 0.70, and 0.55. |
| Empty / rest / default | - | No authored event: NOTE rest, VOL default, or empty FX action. When attached to a number it remains a minus sign. |
| Previous / hold | = | Recall or hold the previously resolved VOL or FX state. Alias assignment uses the alias command instead. |
| NOTE mask | x X / - | x or X writes a hit; - writes a rest. |
| Direction | > < <> random | Forward, reverse, palindrome, and random. ? is reserved for Help. |
For example, vol @kick !+*. writes four levels, while fx1 @kick pr !.=- writes probability 1.00, probability 0.55, previous, and empty. Numeric VOL entries are always MIDI integers or normalized decimals; numeric FX entries are always normalized decimals. Grid cell text also accepts ---, RPT, HLD, and KIL in NOTE; DEF and PRV appear in value columns.
Playback Row Follow
The VIEW header has separate follow-mode and NOTE-source menus. Choose which view you want, then choose which polymetric NOTE lane holds that view:
| Mode | View behavior |
|---|---|
STATIC (default) | The grid stays in place while the independent playback cursors advance. |
CENTER | The source NOTE row stays at the center of the row viewport and the grid scrolls beneath it. Blank padding at pattern boundaries keeps the guide stationary without duplicating rows. |
PAGE | The grid advances between aligned blocks of up to 16 rows. It stays still within each block while the source cursor moves. |
PAGE chooses the largest complete 16-, 8-, 4-, 2-, or 1-row group that fits at the current grid zoom. The control shows the actual size: for example, PAGE 08 at 100% grid zoom and PAGE 16 at 55%. Follow modes pin the lane headers; whole-plugin resizing still scales the layout proportionally.
The source defaults to NOTE: L01. Pin any NOTE lane, choose SELECTED LANE to follow the current editing lane, or right-click a lane's name and choose FOLLOW THIS LANE (which enables CENTER if following was off). A pinned source does not change when another lane is selected and moves with a reordered lane. Across patterns, its number refers to the same lane slot; an absent slot shows NO LANE and does not choose a replacement. Deleting the pinned source returns to STATIC.
The source's header reads NOTE >; its stronger cell outline and subtle row band coexist with every other lane/column playhead. Muted lanes and rests remain valid sources: following tracks the NOTE row, not the latest note-on. The follow source is independent of the MIDI recording LANE.
Manual scrolling, row/cell navigation, or text/cell editing holds following. Click RESUME in VIEW to rejoin playback; finishing an edit does not silently resume. Horizontal scrolling remains manual. CENTER/PAGE follow the published NOTE row directly through reverse, stride, random jumps and loop wraps, without animating through rows that did not play.
Mode and source are saved with the REAPER project and .s3gt document; old documents load as STATIC. The temporary manual hold is not saved. Following reads Tracker's existing audio-stamped presentation snapshot and never changes MIDI scheduling or creates an independent GUI clock.
Editing and Shortcuts
Double-click a cell to type an exact value. Drag VOL, V1, or V2 vertically for continuous editing; Option/Alt-drag is fine and Shift-drag is coarse. Clicking blank workspace releases an active text field. Drag the row-number gutter to set a global loop region.
| Keys | Action |
|---|---|
| Arrow keys | Move among columns and rows. |
| Shift-Left / Shift-Right | Move between tracks. |
| Home / End | Move to the first or last row. |
| Page Up / Page Down | Move by one visible page. |
| F9–F12 | Jump to 0%, 25%, 50%, or 75% of the pattern. |
| Control-A / C / X / V | Select all, copy, cut, or paste tracker cells. |
| Control-Shift-Arrows | Extend a rectangular cell selection from the keyboard. |
| Control-P / Control-Shift-P | Copy the selected Phrase to the cursor, or capture the selected 2–64 row lane range as a Phrase. |
| Control-Option-Up / Down | Transpose one NOTE-column selection by a semitone; add Shift for an octave. |
| Control-Option-1…0 | Set Tracker row jump to 1…10. |
| Control-Z / Control-Shift-Z | Undo or redo a persistent Tracker edit while the grid is focused. |
| Control-= / − / 0 | Zoom in, zoom out, or reset tracker zoom. |
| Delete / Backspace | Clear the selected cell. |
| X / R / H / K in NOTE | Toggle an anchored hit, write retrigger-previous, continue the active note, or write kill; each advances to the next row. |
| [ / ] in VOL, V1, or V2 | Decrease or increase the selected normalized value. |
| M | Toggle mute for the selected column. |
: / backtick | Focus Live Code. |
| Escape | Leave an editor or return focus to the grid. |
| Space / Shift-Space | Request host play or toggle tracker looping. |
In this table, Control means the Mac Control key or Windows Ctrl; Option means Mac Option or Windows Alt. These are Tracker grid shortcuts. On Mac, they deliberately leave Command combinations to REAPER when the grid is focused. Windows uses familiar Ctrl shortcuts while Tracker has focus; it does not provide a second modifier reserved for REAPER.
Inside a focused text field, ordinary text-editing shortcuts apply: Command-A/C/X/V/Z on Mac, Ctrl-A/C/X/V/Z on Windows. Space inserts a space in either Live Code field and must not start REAPER's transport. Return/Enter executes a command or commits a value; Escape closes the field. Click outside the plug-in to return shortcut focus to REAPER. These focus rules also apply to a detached Console.
Drag or Shift-extend selections before using right-click transformations. Clipboard operations preserve typed NOTE/VOL/SEQ/GATE values, including chords and qualified Burst references, when the source and destination are compatible. The lower envelope follows the selected value column; its larger cyan points mark rows with note hits. VIEW's JUMP menu sets a 1–16-row Up/Down navigation and MIDI step-recording increment and is saved with the project. Quick NOTE actions such as X/R/H/K still advance one row.
Patterns and Song
The pattern bank stores multiple named patterns in plug-in state. Create, duplicate, rename, delete, and select patterns from the top strip. Pattern edits are stored automatically and mark the REAPER project dirty; there is no separate Save Pattern command.
Song mode arranges stable pattern references into a longer form. Each pattern menu shows both parts as A01 · Pattern Name: the ID is saved in the Song row, while the renameable pattern name is there for recognition. Pattern-bank editing is locked while Song playback is active so a playing arrangement cannot acquire unresolved references.
Set SONG: ON before starting REAPER. Playback begins at Song row 1. TICKS / SPAN determines the length of a pass and REP the number of passes before natural advance; repeats continue the current pattern phase, while entry into another Song row relaunches that row's pattern at its start. BPM × applies a per-row tempo ratio from 1/4× through 4×, composed with Tracker's main BPM multiplier. LOOP IN–OUT is OFF by default: an inclusive one-based range such as 5–8 starts at pattern row 5 and wraps after row 8 while that Song row plays. This reuses a sub-pattern without duplicating its source. The row's duration remains a separate control.
WARP selects OFF or a named Warps-library composition. SWING % and EN % set row swing and the energy used by EN conditions. The two rows of lane-mute buttons address lanes 1–16 and 17–32; slots absent from that row's selected pattern are inactive. Drag a row handle to reorder; ROW EDIT provides insertion, duplication, and removal. Scroll the arrangement for rows or columns that do not fit.
To jump during playback, select a target row, choose a boundary, and press SELECT QUEUE. NEXT TICK waits at least one Tracker tick; NEXT BEAT uses the Song beat grid; END OF PASS waits for the current pass to finish; END OF ROW waits for the row's remaining repeats. The active row has a green marker, while the pending target has a warm amber outline and queue readout. Queueing again replaces the pending target. At launch, pattern, BPM multiplier, WARP, swing, energy, and lane mutes switch together. WARP OFF restores identity timing instead of inheriting the previous row's warp.
Edits to a playing arrangement are published at safe Song boundaries rather than partially changing the active row. In a final non-looping row with no future boundary, an edit can be saved immediately while its playback update waits until the host stops. Song LOOP repeats the arrangement; it is separate from a row's LOOP IN–OUT and Tracker's pattern-loop controls.
Project Files and Asset Banks
Saving the REAPER project stores Tracker's composition in the plug-in state. For a separate transferable editable file, open Song's SONG FILE menu and choose SAVE SONG + PATTERNS… or LOAD SONG + PATTERNS…. A .s3gt file holds the full MIDI composition, not just the visible Song row.
The same menu can export either the active Pattern or the complete Song as a Standard MIDI File type 1 (.mid). The file contains a tempo track and one MIDI track per Tracker lane. Tracker renders the saved playback seed through its normal scheduler, so probability, conditions, Energy, ratchets, Bursts, polymetric columns, swing, timing warps, microtiming, gates, MIDI CC and Song tempo changes become concrete MIDI events. Pattern export renders one complete longest-column span. Song export renders one finite pass even when LOOP SONG is enabled. The current REAPER tempo is used as the base tempo when available, with Tracker's tempo scale and Song row multipliers applied.
MIDI export is a performance snapshot, not a second editable Tracker project: the resulting notes and controller events preserve the rendered sequence, but they cannot retain the original generative rules or independent column definitions. Keep the .s3gt alongside the .mid when future Tracker editing matters.
- Pattern bank, per-lane MIDI channels, note/value/SEQ/gate cells, column cycles, and aliases.
- Song arrangement, loops, row timing/mutes/energy, transport settings, and named timing warps.
- Project and imported Burst/Phrase banks, plus the saved Assemble staging recipe.
- Project view preferences such as NOTE formatting, row JUMP, and playback-follow mode/source.
Tracker generates MIDI and does not store instrument samples or render its own audio. Receiving instruments and their media are saved by REAPER and those instruments, not by Tracker. Imported Phrase/Burst data is copied into Tracker's document: keeping the original pack file beside a project is not required for playback.
.s3gpack files exchange reusable assets rather than replacing the entire composition. Bursts and Phrases expose IMPORT PACK, EXPORT ONE, EXPORT BANK, and COPY PROJECT operations. Bank-qualified Burst references preserve identity when assets move between banks; referenced Burst definitions accompany a Phrase export. Review usage before clearing or deleting shared assets: editing a referenced Burst changes every place that uses it. The Project bank itself cannot be deleted.
Both platforms use the same current version-3 .s3gt and asset-pack formats, with Unicode-capable paths and file dialogs. Older version-3 files without follow settings open in STATIC mode. Max tracker files and the retired standalone schemas are not imported. Undo/redo is workspace history, not a substitute for keeping project-file backups; transient recording arm, FILL, text drafts, and manual follow hold are not saved.
Live Code
Press : or backtick to focus Live Code. Return runs a command, Up and Down recall history, Tab completes command names, and Escape returns to the grid. The Help page lists every command accepted by the current build.
help
actions
alias kick 1
pitch @kick C-2
mask @kick x---x---x---x---
eu @kick 5 16
vol @kick 1.0 .8 .9 .7
randomize @kick vel .55 1.0
fx @kick 1 1 RR 0.50
fx @kick 2 5 PR 0.75
fx @kick 1 3 CC74 64
interp @kick v1 linear
len @kick note 16
stride @kick v1 2
phase @kick fx2 -1
dir @kick note palindrome
mute @kick fx1 toggle
warp exp 2.0 mix .5
actions lists the sequencing behaviors accepted by the two SEQ columns, including CC0–CC127. Audio-parameter effects and internal-instrument commands from earlier standalone designs are not part of this MIDI product.
VIEW Live Code Commands
These commands control the Tracker VIEW toolbox from either Live Code field, including detached Console. They are available in the September 14, 2026 development source build; an older installed plug-in needs rebuilding/updating before it accepts them. Type view to report current settings without changing anything.
| Command | Result |
|---|---|
view or view status | Report follow mode/source, grid zoom, NOTE format, row JUMP, and detail visibility. |
view follow static|center|page | Choose the default static grid, centered source cursor, or aligned row pages. PAGE automatically uses the largest block up to 16 rows that fits. |
view source selected | Follow the currently selected editing lane's NOTE column. |
view source 2 or view source @kick | Pin an existing one-based NOTE lane or an alias's lane. This neither enables following nor changes the MIDI recording lane. |
view resume | Release manual follow hold and leave Tracker's main Live Code field so the grid can follow again. STATIC remains static. |
view zoom 125 or view zoom 125% | Set grid zoom to a whole-number percentage from 55 through 180. This does not resize the whole plug-in interface. |
view zoom +, view zoom -, view zoom reset | Use the VIEW buttons' zoom steps, or reset grid zoom to 100%. |
view notes name|midi | Display note names or MIDI numbers without changing stored pitches. |
view jump 4 | Set the Up/Down and MIDI step-recording increment to 1–16 rows. Quick NOTE actions such as X/R/H/K still advance one row. |
view detail on|off | Show or hide both SEQ/value pairs and GATE without clearing their cells. |
Where the table shows alternatives separated by |, choose one value; do not type the separator. Commands are case-insensitive and invalid values leave settings unchanged. Follow mode/source, NOTE format, and JUMP are saved with the project. Grid zoom, detail visibility, and resume requests are temporary editor state. VIEW commands do not change MIDI scheduling or rebuild the playback runtime.
For a 16-row paged view pinned to lane 2, enter these commands individually, pressing Return/Enter after each:
view source 2
view follow page
view zoom 55
view resume
For a centered cursor, use view follow center instead. Ordinary view commands keep Live Code focused. While Tracker's main text field remains open, the grid does not scroll beneath it; view resume exits that field and rejoins playback. An inline cell edit is not moved by a pending zoom change until that edit finishes. See Playback Row Follow for polymetric source selection and missing-lane behavior.
Tool Pages
Use Geometry for direct pattern gestures, Bursts for several events inside one row, Phrases for reusable multi-row material, Assemble to join Phrases, Reshape to preview a variation, and Warps to shape global event timing. The tools preserve the distinction between changing shared source material, previewing a proposal, and placing ordinary cells.
Geometry and Pitch Map
Geometry is a second editor over Tracker's current pattern, selection, and undo history. RING FIELD maps NOTE lanes to concentric rings and rows to angles. ALL STEPS UNDERLAY shows hollow lane-colored cells for every row, with four-step accents and filled active pulses on top. Other view modes expose related phase, pulse, and path information without creating another pattern.
Choose a lane in LANE / CYCLE, then use its default note, cycle length, direction, rotation, and density controls. DEFAULT NOTE shows a pitch name and MIDI number; changing it updates the lane anchor and explicit note pitches while preserving rests, retriggers, holds, and kills. The equivalent command is pitch <lane|@alias> <MIDI|note name>. Default note, length, rotation, and density drags preview their result and create one undo step on release.
EDIT / SHAPE provides SELECT, PAINT, ERASE, VELOCITY, reverse, reflect, and morph. Option/Alt temporarily changes Paint to Erase. The selected ring's R and D handles adjust rotation and density. Double-click an event or use REVEAL IN TRACKER to reach its exact lane and row. During Song playback, Geometry follows the sounding pattern and lane-mute mask read-only.
Choose PITCH MAP in Geometry's MODE menu for a pitch-assignment proposal over the selected lane/range. Its scale and contour controls can be previewed before applying them to the pattern. It does not replace the rhythm editor or reroute the destination MIDI channel.
Bursts: Events Within a Row
A Burst is a reusable sub-row MIDI gesture with up to eight events. A bank holds 64 slots (B01–B64). Its event matrix, radial overview, and velocity-breakpoint display are linked views of the same event positions, notes, velocities, and gates. Select an event to edit it, or select an empty matrix row to create one; gate-fit and event tools help keep the gesture inside its intended duration.
Choose a bank and Burst, then use PLACE IN TRACKER to put its reference at the target NOTE cell. The bank and slot are part of that reference. Changing the shared definition updates its uses throughout the composition; check the USAGE readout before replacing or deleting a definition. NEW, DUP, DELETE, spacing/rotation tools, PURGE UNUSED, COPY PROJECT, and pack import/export manage the library. Burst edits are part of the composition rather than a separate instrument preset.
The NAME field is a draft until the Burst library's SAVE button commits it. That button saves the name, not a separate project file; event edits already belong to the shared composition.
For Burst cells, CD/EN/PR/SK/EU gate the whole gesture and MT/DL shift it as a unit. RR/ST/FL/GL expansion is disabled for the Burst itself; the authored event list already describes its internal rhythm. Audition routes MIDI to the chosen preview channel and still requires a receiving instrument.
Phrases: Reusable Tracker Material
- In Tracker, select 2–64 rows in one lane and choose
PHRASE → CAPTURE SELECTION, or press Control-Shift-P. - Open PHRASES and choose the bank and
P01–P64slot. Edit NOTE, VOL, SEQ1/V1, SEQ2/V2, and GATE using the same typed cells and right-click action menus as Tracker. - Set an optional name and recommended BPM, then use the library's SAVE button to commit those metadata drafts. The 20–400 BPM recommendation is informational and never sets REAPER's tempo.
- Select the destination lane/row in Tracker, then choose REPLACE or MERGE EMPTY in Phrase placement and copy the material to that destination. The target readout identifies where it will go.
Drag cells or Shift-extend a selection; Control-A/C/X/V and Control-Shift-Arrows retain compatible multi-row/column shapes. VOL uses normalized 0.000–1.000 values. Referenced Burst definitions accompany captures and transfers and are remapped safely when needed. Placing a Phrase copies ordinary cells and retains the destination lane's MIDI channel; subsequent edits to the Phrase do not rewrite already-placed copies.
IMPORT PACK, EXPORT ONE, EXPORT BANK, COPY PROJECT, and bank-clear/delete actions manage reusable material separately from placement. See Project files and asset banks for what is saved.
Assemble: Build a Phrase Chain
Choose a bank, Phrase, and REPEAT amount in PHRASE PALETTE; use APPEND or A to add it to the vertical assembly tray. REPEAT offers 1×, 2×, 4×, 8×, and 16×. Drag blocks to reorder, Option/Alt-drag to duplicate, or use the up/down, DUP, DELETE, and CLEAR controls. The tray shows its block and row counts.
Choose the target pattern, lane, and starting row. REPLACE overwrites destination cells; MERGE EMPTY fills compatible empty cells. FIT selects EXTEND PATTERN, CROP, or WRAP. PLACE IN TRACKER writes normal Tracker cells: the tray is a staging recipe, not a second playback sequencer or a live link to the placed pattern. Assemblies of 2–64 rows can also be saved as a Phrase. The tray supports up to 64 blocks within the 256-row authoring limit.
LISTEN and Loop Timing
With REAPER transport stopped, Phrases and Assemble use LISTEN ▶ to audition through the selected MIDI CH. Assemble can audition either the full assembly or the selected Phrase. Enable LOOP to repeat the entire authored duration, including leading and trailing rests. A silent tail in the material remains a silent tail; it is not shortened to the last note.
Audition uses the observed host BPM, falling back to the captured project tempo if no host tempo is available. Its repeated starts and note gates are scheduled on the audio clock, not by a GUI timer. The green cursor reads the same audition position. Stop LISTEN, hide/close the page, or start host playback to cancel it. If nothing is heard, check the receiving instrument, its channel filter, and whether REAPER is processing the plug-in while stopped.
Reshape: Preview and Commit a Variation
Choose the target pattern, lane mask, and analysis cycle. PATTERN PROFILE compares original and proposed material. Timing controls adjust pocket, tightening, timing depth, MT writing, and outliers; dynamics controls adjust velocity range, accents, lane balance, writing policy, and outliers. EXISTING ONLY preserves empty destinations, while the alternative write modes permit adding MT to onsets or filling default velocities.
RHYTHM MUTATION adds amount, density, syncopation, maximum row displacement, Burst chance, cycle drift, and RESEED. Preview the result with PREVIEW ON and the ORIGINAL/RESHAPED comparison. A preview is not a saved edit. Use APPLY IN PLACE to commit to the current pattern, or CREATE VARIANT to create a separate pattern. RESET restores the proposal controls. Leaving the page clears its temporary playback preview; applying and variant creation are unavailable while Song playback owns the pattern.
Warps: Global Timing Shape
The composite curve is the main workspace. WARP LIBRARY stores named compositions, SERIAL STACK orders their transforms, and SELECTED TRANSFORM edits the chosen stage. Combine exponential, stepped, Euclidean, or multipart timing transforms, adjust the cycle and mix, and use bypass to compare their effect. Drag numeric controls or double-click their values for exact entry.
Save a named composition to make it available in Song's WARP column. The current stack shapes pattern timing; a playing Song row supplies its own selected warp. OFF means identity timing. Warps alter event timing rather than cell pitch or lane routing, and their display cursor follows the published audio position.
Console and Help
Console displays command results, warnings, errors, and MIDI/host information. Its Live Code editor shares the Tracker field's draft and history, including when Console is detached. Return/Enter executes, Up/Down recalls history, Tab completes, and Escape returns focus; Space remains text while the editor is active.
Help contains workflow guides plus command and sequencing-action references generated from the current registry. Browse or search there for full syntax, value meanings, and examples. The website explains the current workflow; the reference inside a particular build describes the commands that build actually accepts.
Platforms, Fonts, and Installation
The current Mac build uses the shared VSTGUI pages. Install its complete s3g_tracker.clap bundle into the user CLAP location described in Installing Plugins, then restart REAPER. Back up the previous build and avoid duplicate Tracker copies. Building or copying documentation does not update an installed plug-in.
The Windows x64 CLAP is currently a separate test build, not an accepted release. Copy its complete package into a folder in REAPER's CLAP search paths. Keep s3g_tracker.clap and the sibling Resources directory together. Its optional run-windows-check.cmd runs the supplied integration test without installing anything; it does not replace testing in REAPER.
Mac fonts are resources inside each CLAP bundle; Windows font files are in the package's module-relative Resources/Fonts folder. Bundled Fira Code and IBM Plex Mono files and their license notices travel with the plug-in; users do not need to install them as system fonts. Safe fallback prevents a missing font resource from blocking the editor, but appearance can differ. Keep the resource and license files when redistributing or copying a test package. Mac and Windows text rasterization can differ even with the same font files.
The shared Windows pages, file dialogs, Unicode path handling, clipboard, proportional sizing, and REAPER text-focus routing are implemented and cross-built. Native Windows checks for DPI changes, detached-window ownership, multiple instances, project recall, and MIDI/cursor synchronization remain acceptance work. See Tracker source builds for the explicit Mac VSTGUI option and Windows test commands.
Troubleshooting
- No sound: Tracker emits MIDI only. Put an instrument after it, confirm the lane's CH setting and the instrument's MIDI filter, and check REAPER routing/monitoring.
- Interface is hard to read: enlarge the whole plug-in window. Grid zoom alone does not enlarge tool-page controls.
- Playback disappears below the grid: use CENTER or PAGE and choose the intended NOTE lane. If RESUME is shown, manual navigation/editing is holding the view.
- Space starts transport while typing: make sure the caret is in Live Code, not just the grid. Current VSTGUI text fields consume Space; restart REAPER after upgrading and check for a duplicate older Tracker.
- Song or Geometry seems read-only: Song playback deliberately protects pattern edits. Stop the host before changing protected material.
- A Phrase loop has silence at the seam: LISTEN loops its full authored row length. Inspect trailing/leading rests and the selected preview scope before shortening the material.
- Windows font appearance is different: verify the sibling Resources folder before judging fallback typography. Windows REAPER acceptance is still pending.
Current Boundaries
- MIDI-only processing; the plug-in has no audio ports or internal instruments.
- REAPER owns tempo, transport, devices, receiving instruments, audio effects, and mixing.
- One CLAP MIDI output with channels 1–16 and one authoring-only MIDI step-record input; every tracker lane owns its output-channel assignment.
- Up to 32 pattern lanes, 256 visible Tracker rows, eight NOTE voices per cell, eight events per Burst, and 2–64 rows per Phrase.
- Standard MIDI File export is available; MIDI-file import, instrument sample storage, a standalone application, and an accepted Windows release are not part of this milestone.
- Project state uses the current native tracker schema and does not import Max tracker files or abandoned standalone formats.