refactor(corpus): 917 lines move the kick onto its own mute button — every track, not just the set (#105, #70)
PLN, mid-migration, when I had scoped this to the 13 setlist tracks:
"good, and not only in the set am i right? did we not do the whole refact on the
other .tidal files on my repo?"
He is right, and the reason is muscle memory: his fingers do not know which folder a
track lives in. A half-migrated corpus is worse than either extreme, because it makes
the surface unpredictable exactly when he reaches for an old track mid-set.
## What moved
913 lines across 213 files, plus 7 orbits given a mute they never had:
505+4 gM1 -> gM2 percs vacating the kick's button (the BULK of the work —
not the kick itself, which is only 133 lines)
127+1 gM2 -> gM1 the kick, arriving
66+4 gMute2 -> gM1 same, in the legacy long spelling
64 gM1 -> gM3
58 gMute3 -> gM3 spelling normalisation only
41+2 gM2 -> gM3
12+2 gMute2 -> gM2 / gMute1 -> gM2 / gMute1 -> gM1 / gM3 -> gM2 the tail
7 FILL orbits with NO mute at all, in the SET only
Only the setlist was filled. PLN: "ensure we have that consistently in all set, and
flag in other non-set tracks for me to see." Outside the set a missing gate may be a
composition choice, so docs/2026-07-30-orbits-without-a-mute.md REPORTS the rest and
writes nothing — split into the cut that makes 2397 findings actionable:
A · partial 110 files 321 blocks uses family mutes but missed some
<- the oversight he meant
B · never 354 files 2076 blocks no orbit has one; predates the convention
<- a style era, not a mistake
## Also, in this diff: #70
`live/midi/nova/dnb/liquid/you_my_sunshine.tidal` had d5 (the voice) and d11
(`no_sunshine:4/4` chopped) both on `# cut 5`. A cut group is monophonic, so every
d11 event killed the vocal mid-word. That is ALSO the `-- FIXME VOICE OFF` PLN had
left on d5 line 59: one root cause wearing two labels, found by pvlint PV004 on
2026-07-28 and confirmed by reading the file today. d11 moves to `# cut 11`, matching
the group-N-equals-orbit-N convention d3/d6/d8/d9 already follow. The comment says
how to revert in one line if the vocal was meant to be monophonic across both layers.
## How this was verified, given it touches 213 files PLN has to play in 7 days
1. **Convergence** — `--apply` twice; second pass proposes 0 rewrites and 0 fills.
2. **Structural proof, not spot-checks** — diffed every changed line against HEAD and
asserted the two sides are identical once mute tokens and whitespace are stripped.
908 of 917 changed lines are provably mute-plumbing-only; the other 9 are listed
and each accounted for (4 fills onto head lines with no `$`, 3 trailing-whitespace,
1 FIXME annotation, 1 the cut 5->11 fix). Nothing else in the corpus moved.
3. **Compile-invariance argument** — gM1/gM2/gM3 are the same type and arity in
BootTidal, so substituting one for another cannot change whether a file compiles.
Only the 7 fills alter expression structure, and all 7 are in the set.
4. **silent-eval --seeded on the set: 13/13 ok**, before and after.
5. Suite: 222 passed.
THE HONEST LIMIT, stated because a green check here is misleading: every button CC
seeds to 0 at boot and gMute<N> is `midiOn "^7N" (mask "f*16")`, so all three mutes
are equally inert until pressed. silent-eval therefore proves nothing got silenced at
boot and NOTHING about behaviour under a press — which is the only thing this change
alters. The real gate is PLN's ear, or pv-at (#74).
NOTE FOR PLN: 213 files changed on disk. Anything open in Pulsar now has a stale
buffer, and Pulsar saves the BUFFER — reload before evaluating or your next Ctrl-S
silently reverts the migration in that file.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| ableton | Loading commit data... | |
| chords | Loading commit data... | |
| club | Loading commit data... | |
| discord | Loading commit data... | |
| eric | Loading commit data... | |
| looper | Loading commit data... | |
| nova | Loading commit data... | |
| samples | Loading commit data... | |
| structures | Loading commit data... | |
| synths | Loading commit data... | |
| tidal-worksheets @ 63c38572 | ||
| tutorial | Loading commit data... | |
| val | Loading commit data... | |
| wiki | Loading commit data... | |
| 20201104.tidal | Loading commit data... | |
| README.md | Loading commit data... | |
| anticipate.tidal | Loading commit data... | |
| brave_effects.tidal | Loading commit data... | |
| building_up.tidal | Loading commit data... | |
| chop_bogdan.tidal | Loading commit data... | |
| chords.md | Loading commit data... | |
| controls.tidal | Loading commit data... | |
| desire_bass_rhythm.tidal | Loading commit data... | |
| patterns.pdf.tidal | Loading commit data... | |
| performances_tokyo.tidal | Loading commit data... | |
| piano.tidal | Loading commit data... | |
| randomness.tidal | Loading commit data... | |
| santa.tidal | Loading commit data... | |
| slicing.tidal | Loading commit data... | |
| synths.tidal | Loading commit data... | |
| time.tidal | Loading commit data... | |
| transitions.tidal | Loading commit data... | |
| visuals.tidal | Loading commit data... |