⬗ Parameter locks — the Pocket-Operator move on the texture voices

Steal the one clever idea from the PO/Elektron world: p-locks. A CC/texture
voice (filter, glitch, reverb, drive) now gets a per-step LOCK lane — pin its
value to a blocky level on any step, overriding the world there; drag a step
below the lane to unlock it and hand it back to the data. The filter jumping to
a different cutoff on every hit, disjointed and alive — a full groovebox.

- applyGroove(sq, step, world) unifies the gate + p-lock; computeDests calls it.
- lock[] rides on seqs (serialised, migrated). Note voices keep velocity/chance/
  ratchet; CC voices get the p-lock lane (amber).
- self-check guards all four cases (no-groove / lit-unlocked / dark / locked).
- grimoire + manual updated (also documents the Juno chorus).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-10 01:02:22 +10:00
parent 1938874707
commit 8dd551017a
2 changed files with 61 additions and 5 deletions

View File

@ -538,7 +538,7 @@ Learn these seven gestures and the whole planet is under your hands:
- **Press `T` — tracks, for making actual songs.** A conventional tracks-and-clips view for anyone who finds the cathedral overwhelming: every voice is a **track**, eight **bars** run across, and each cell cycles **● live** (the world plays that lane) → **A****B****C** (clip patterns on the groove grids — A and B come pre-seeded so it makes music immediately) → **silent**. Double-click any clip to edit its groove in the piano roll. Press **▶** and the arrangement loops on the godtime clock — the planet still plays *through* your song, because live lanes stay wired to the world. Arrangements **save with your patch**, play out over MIDI like everything else, and **export .mid** hands you a Standard MIDI File of the note lanes to drag into Ableton, Logic, anything. Not a DAW — a sketchpad where the world sits in on your session. The panel earns its keep like one, too: a **🎛 tracks button** sits bottom-right always; **drag the panel's top edge to resize** (remembered); the top bar **tabs between clips and grooves** — the grooves tab is a full-size pattern editor (pick a track, pick a letter, big piano roll or 16 steps; double-clicking any clip jumps you straight there); and **right-click any track name for that voice's full routing menu** — every cable, every level, patch and unpatch without leaving the panel.
- **The Groove — one feel for the whole pattern.** The grooves tab carries Ableton's Groove Pool, reduced to the 16-step grid: **swing** lays the off-beats back, **humanize** is a touch of random timing so nothing is machine-stiff, **velocity** lets each hit breathe in loudness, and an **amount** master scales the lot — with one-click presets (*straight, swing 16, MPC 8-4, drunk*). Under the roll sit three expression lanes: **velocity** (how hard each step hits), **chance** (how likely each step fires at all — drop a step to 40% and it plays four times in ten, so the loop varies itself), and **ratchet** (how many times a step re-fires, 14 — an instant roll or 32nd-note glitch from a single step, and if that step is a Play-One stack each sub-hit re-rolls the note). The feel and the per-step shaping **save with your patch**. And any lane takes a **⬢ Euclidean fill** — say how many *pulses* to spread across the steps and they distribute themselves as evenly as possible (E(3,8) is the tresillo, E(5,8) the cinquillo, E(4,16) four-on-the-floor), with *steps* and *rotate* to taste: the oldest rhythms of the world fall straight out of the arithmetic.
- **The Groove — one feel for the whole pattern.** The grooves tab carries Ableton's Groove Pool, reduced to the 16-step grid: **swing** lays the off-beats back, **humanize** is a touch of random timing so nothing is machine-stiff, **velocity** lets each hit breathe in loudness, and an **amount** master scales the lot — with one-click presets (*straight, swing 16, MPC 8-4, drunk*). Under the roll sit three expression lanes: **velocity** (how hard each step hits), **chance** (how likely each step fires at all — drop a step to 40% and it plays four times in ten, so the loop varies itself), and **ratchet** (how many times a step re-fires, 14 — an instant roll or 32nd-note glitch from a single step, and if that step is a Play-One stack each sub-hit re-rolls the note). The feel and the per-step shaping **save with your patch**. And the **texture voices** (the filter, the glitch, the reverb, the drive) get their own lane: a **⬗ p-lock**, the Pocket-Operator move — pin that voice to a blocky value on any step, so the filter jumps to a different cutoff on every hit, disjointed and alive; drag a step below the lane to hand it back to the world. And any lane takes a **⬢ Euclidean fill** — say how many *pulses* to spread across the steps and they distribute themselves as evenly as possible (E(3,8) is the tresillo, E(5,8) the cinquillo, E(4,16) four-on-the-floor), with *steps* and *rotate* to taste: the oldest rhythms of the world fall straight out of the arithmetic.
- **♪ One scale for the whole planet, and ⬛ Play One for the glitch.** Set a **root and scale** at the top of the grooves tab and every melody you draw is in that key — the piano roll is only ever the scale's own notes, so nothing lands wrong; change the scale and your patterns *re-harmonise* in place. And a column isn't limited to one note: **stack several** and it turns blue — a **Play One** group, from which the sequencer picks a single note at random each time it fires. Stack a handful of in-key notes under a fast Euclidean fill and the line glitches itself into something new on every pass, always in tune. (Adapted from Ableton's *Group Notes → Play One*.)
@ -977,3 +977,5 @@ Every feed the world sends is one of eight temperaments; the shape dictates how
- **♪ Global Scale** — Live 12 Scale Awareness (§3.13): one root + scale (major, dorian, minor pentatonic, hirajoshi, …) that the whole groove editor sings in. The piano roll's rows ARE the scale degrees, so it's always folded-to-scale; change the scale and drawn patterns re-harmonise in place. Travels with the patch.
- **⬛ Play One** — adapted from Ableton's Group Notes → Play One: a piano-roll column can hold several candidate degrees (stack them; they turn blue). On each fire the sequencer picks one at random — stack in-scale notes under a fast Euclidean fill and the line glitches itself, always in key. `.mid` export prints the first candidate.
- **⚡ Ratchets** — a per-step `ratchet` lane (14): each step can re-fire that many sub-hits within its slot, for instant rolls and 32nd-note glitch from a single step. Combined with Play One, every sub-hit re-rolls the note. This completes the generative-glitch loop: Euclidean picks the rhythm, Play One the pitch, ratchets the subdivision.
- **⬗ Parameter locks (p-locks)** — Pocket-Operator / Elektron style: a texture voice (filter, glitch, reverb, drive) gets a per-step `lock` lane that pins its value to a fixed level on that step (blocky, disjointed), overriding the world; drag a step below the lane to unlock it and hand that step back to the data. Applied in `computeDests` via `applyGroove`; travels with the patch.
- **🌊 Juno-106 chorus** — an always-on subtle BBD-style stereo chorus on the synth's master bus (two short delays warbled by slow LFOs, panned wide) that warms and widens the dry oscillators.

File diff suppressed because one or more lines are too long