Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • tools
  • setlist.py
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    feat(set): a note is not a track — and the dead buttons PLN asked about · 5e5a37ad
    THE PHANTOM. PLN drafts in backlog.md, and he drafts in LIST ITEMS. Mid-run he
    wrote himself a deliberation:
    
      -- Q: This intro is quite raptech. jazz intro? quand on decolle opening? reflect
    
    and quand_on_decolle silently joined the OPAL set. The resolver's "codename
    carries extra words" branch is a subset test, so {quand, on, decolle} being 3 of
    those 13 words was a match. It then flowed downstream exactly as designed — into
    the .txt, the preload plan, the remap scope and the gig gate. The pipe worked
    perfectly, on garbage.
    
    Two guards, because either alone is too clever:
      * _NOTE_RE skips items marked Q:/NB:/NOTE:/TODO:/FIXME:/IDEA:, and PRINTS what
        it skipped. A note dropped silently and a track dropped silently look
        identical from inside the parser, and only one of them is survivable.
      * the extra-words branch is bounded to 4 decoration words. Real entries spend
        at most 4 ("[129] Desire [TODO BASS ETC!]"); that note spent 10.
    
    An UNMARKED prose line now RAISES instead of resolving. That is deliberate and
    tested: red gate, PLN adds "Q:" or deletes the line. A phantom track goes to the
    venue. Loud beats clever.
    
    (He has since re-added quand_on_decolle under an explicit ## SOUNDCHECK heading,
    as a real entry. It arrived carrying the full off-by-one-column corpus pattern —
    11 moves — now migrated. That is the pipe working on something real.)
    
    DEAD BUTTONS. PLN, playing: "not seeing effects on button 44 nor 43?" on
    do_it_right, "no buttons 42 43?" on ouais_je_funk. They were not broken, they
    were never mapped. Now:
      do_it_right   ^43  d3 hats — HIS OWN TODO implemented verbatim: "an opening
                         legato or att to make it slowly go from hard dry h to an
                         open ho? as in take 5 drops". Held, legato walks 0.4->2.5
                         and hpf 7k->2.5k over 8 cycles; released, it snaps back.
      do_it_right   ^44  d4 bass — octave down, DROP TO THE CELLAR
      ouais_je_funk ^42  d2 clap — the clap had no gate at all. Handclap roll.
    
    d4's crush/octersub land on ^52/^32 exactly as PLN asked. That required
    REORDERING the two lines, not renumbering them: migrate-columns assigns knobs in
    order of declaration, so the file now carries a comment saying the order is
    load-bearing. Fighting the tool by hand would just be undone next run.
    
    Set: 15 tracks, 0 moves pending, silent-eval --seeded 15/15, pvlint 0 errors,
    setlist tests all green (now pinning lime_tacos OUT and the phantom absent).
    PLN (Algolia) authored Aug 02, 2026
    5e5a37ad
setlist.py 14.6 KB
EditWeb IDE
×

Replace setlist.py

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.