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
  • gen_setlist.py
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    fix(preload): warm what gets played, computed from the gig records · f68277f2
    The preload warmed a setlist FILE, and the only one was armada/setlist_opal2026
    .txt -- the 16 tracks of one August gig. So the plan was fresh, correct, and
    aimed at the wrong set. Measured: driving rose_rouge logged 41 'reading
    soundfile as needed' lines in 180s, every one of them the rose bank, while ZERO
    of the 60 warmed banks lazy-loaded.
    
    That is check-preload.sh's documented failure one level up. There the plan was
    stale because two tools disagreed about the setlist; here the plan matches its
    setlist exactly and the SETLIST has drifted from what gets played -- which no
    plan-vs-setlist freshness check can see, because the two agree.
    
    gen_setlist.py computes the list instead of maintaining one, from the canonical
    records in authority order: <www>/content/lives/<year>/<slug>/tracks.json, which
    carries both a date and each track's exact repo-relative file; then
    armada/tide-table/judge_specs/*_setlist_ear.json for gigs whose tracks.json is
    not built yet -- where the cosmicfest set lives, 'THE ground truth, 14 tracks',
    with rose_rouge at #5. Ear lists carry no gig date, so they are included and
    flagged rather than dated by guesswork.
    
    60 banks -> 111, 16 tracks -> 39. 51 banks were one first-play from a disk read.
    rose is covered.
    
    check-preload.sh now computes its own list rather than borrowing
    set-coherence.setlist_tracks(), because the two ask different questions: a cheat
    sheet wants tonight's running order, a preload wants anything that might get
    played, and the cost asymmetry is total. PV_PRELOAD_SETLIST / PV_PRELOAD_MONTHS
    override. Not a fourth setlist parser -- the same setlist_samples parser, fed a
    wider list.
    
    Cost of over-covering, measured: 122/124 banks OK in 5.0s (was 60/61 in 2.6s),
    scsynth RSS 4.8G on a box with 62G total and 40G available.
    
    Logs two findings from the same boot: 64 AppleDouble resource forks named
    zz._*.wav in rhadamanthe_fx/divers/vocal, which fail to load AND occupy sample
    indices (left alone -- the zz. prefix looks like a deliberate rename, so
    deleting is the owner's call); and preload's COUNT MISMATCH banner, which
    reports those 2 real load failures with the wrong diagnosis.
    PLN (Algolia) authored Sep 07, 2026
    f68277f2
gen_setlist.py 8.89 KB
EditWeb IDE
×

Replace gen_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.