-
refactor(corpus): BootTidal is now the ONLY definition of the global helpers —… · daf074f2
refactor(corpus): BootTidal is now the ONLY definition of the global helpers — 1705 local shadows removed PLN loaded bombe_dj to test the new surface and found ^41 still chopping every bar, two days after gMask was "retired". He asked the right question: "why so many let gMask in bombe dj? did you do the edits yet?" THE BUG WAS ARCHITECTURAL, NOT A MISSED EDIT Every track opened with a copy-pasted stanza: let gMask = (midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>")) let gMute1 = (midiOn "^73" (mask "f*16")) let gM1 = gMask . gMute let gF1 = (# djfbus 1 (range 0.05 0.95 "^49")) A local `let` SHADOWS the boot definition, so for years every central fix stopped at the door of 254 files. Two consequences, both live on stage: * gMask was retired in BootTidal.hs (`gMask = id`) and still masked on the 237 tracks that redefined it. The retirement reached 5 of 13 setlist tracks. * gF1/2/3 were rewritten to the two-sided gDJF (centre = bypass, left = lpf, right = hpf, and 0 = a 180 Hz lowpass = silence). 333 local defs kept the OLD one-directional `(# djfbus N (range 0.05 0.95 "^49"))`. So the DJ-filter fix that took a whole afternoon to get right was invisible in performance. Two tracks even carried `let midiGGlobal = "^77" * 1.5` — reading fader ^77, which is now MIDI-learned to Ardour's Tidal 01 gain. That is bug #53 alive: an accidental nudge of fader 1 would attenuate every midiG-using stream. WHAT LANDED tools/deshadow-helpers.py, --plan/--apply, two passes: pass 1 1551 deletions of exact boilerplate, so boot's definition takes over pass 2 154 deletions of defs pass 1 ORPHANED (a local `let gMute` whose only user was the `let gM1 = gMask . gMute` just removed). BootTidal has no `gMute`, so pass 1 cannot touch it, and half a stanza reads like it still does something. Referenced nowhere = zero events change. 11 COMMENTED OUT, not deleted, with a DESHADOW(#96) marker The safety property is that direction: a def is deleted ONLY if its body positively matches a known boilerplate regex. Anything unrecognised is commented, so a bad regex leaves a comment instead of deleting PLN's music. It earned that immediately — the 11 include real composition that only worked BECAUSE it shadowed: let gF2 = (whenmod 64 48 (# djf (slow 16 $ range 0.5 0.2 saw))) -- Parts DJF let gF1 = (someCyclesBy "<f!10 t!6 f!112>" (# djfbus 1 ...)) -- Intro DJF let gMask = mask "t t <t <t f> t <f [f t]>>" -- a fixed compositional mask and one latent build error, `let gF1 = (y# djfbus 1 ...)`, which cannot compile. DELIBERATELY NOT TOUCHED * gDJF (65 files). Local is `let gDJF = …` (0 args); boot's is `gDJF ch` (1 arg). Removing the shadow is a TYPE ERROR, not a global. Own pass, #96. * gMute/gM/gF/gM'/gDJF1/gMaskEnd16/… (315 defs) — names BootTidal does not define at all. Deleting breaks the build. VALIDATION — verdict equality, not "it looks fine" silent-eval over the 13-track OPAL setlist, before vs after, with an EMPTY control map. Every single line of the diff is a line NUMBER shifting by 7, the height of the deleted stanza. Same tracks, same orbits, same counts: before: 9 tracks with a silent orbit, 4 unbuildable by the harness (#93) after: 9 tracks with a silent orbit, 4 unbuildable by the harness -> VERDICTS IDENTICAL check-boot OK — all g* helpers audible with an untouched controller check-boot-blocks OK — 32 blocks, each still one statement pytest 471 passed surface-columns 5 knob misalignments at HEAD -> 4 now (desire's borrowed ^52 is gone). No regression; the remaining 4 pre-date this. Also in desire.tidal, on PLN's call ("just simplify to make it finish the job, losing nothing, leaving FIXMEs"): d3's ^52 was borrowing d4's column because the grid gives d3 exactly one knob (B3, already used; C3 is the gF3 family filter). Parked as a static `# legato 0.55` with the knob form one line above in a comment, and the d7/d9 open question closed as a FIXME rather than left blocking. Nothing deleted, everything re-enableable by removing two dashes. Excluded from this commit: live/midi/nova/lounge/ouais_je_funk.tidal, which was already in PLN's modified set. The deshadow is applied on disk there; his to commit.PLN (Algolia) authoreddaf074f2
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| _inspi.tidal | Loading commit data... | |
| la_matrice.tidal | Loading commit data... | |
| larmes_salees.tidal | Loading commit data... | |
| moulins_de_mon_coeur.tidal | Loading commit data... | |
| oparoles.tidal | Loading commit data... | |
| sept1.tidal | Loading commit data... | |
| xp1.tidal | Loading commit data... | |
| xp2.tidal | Loading commit data... | |
| xp3.tidal | Loading commit data... |