Commit cdbc28ff by PLN (Algolia)

feat(setbuilder): the picker now holds the catalog it already measured

The sweep evaluated all 703 tracks on Sunday night and found 597 that compile
and emit. The picker still carried fourteen hand-written entries, so the page
said the library was fourteen deep — the measurement existed and the surface
that needed it did not have it.

gen_setbuilder_catalog.py turns the sweep into the page's data, joined against
two things the verdict alone does not tell you: how often the driver journal
saw the track loaded (what the hands know), and how many of its sample banks
the preload plan already warms (a cold bank is not a fault, it just hiccups on
the first bar). Sample names come from setlist_samples.py, never a fresh regex.

The sweep results now live in docs/ instead of a scratchpad that dies with the
session — an artifact nobody can compare against is the preload.scd story.

Ids are repo-relative paths, not stems. Sixteen stems collide across folders
(major_nostalgia in chill and techno, all four FFF tracks in two trees) and a
stem key merged each pair into one card, silently. Picks stored under the old
stem keys are migrated on load where the stem is unambiguous.

And the Thu-24 list is a candidate arc, not a locked set. It was exported from
the builder, not decided at the desk; rehearsal decides.
parent 806c1e5d
......@@ -93,9 +93,11 @@ Open, highest leverage first:
saturated ±63 delta is unknown. Likely dead code. Re-run
`scratchpad/delta_probe.py` while PLN sweeps, read the delta histogram, THEN set the
threshold from reality. Builder also flagged 123 → 127 overshoot at the `>=115` band.
- [x] **THE SET IS LOCKED** — `armada/setlist_thu24.txt`, 10 tracks, 120/120 min, in play
order (commit 2fbb7d3). All 10 pass `silent-eval --seeded`, including
`something_about_drums` (never validated before). The set needs 46 banks, all 46 on disk.
- [ ] **CANDIDATE ARC, not locked** — `armada/setlist_thu24.txt`, 10 tracks, 120/120 min,
in play order (commit 2fbb7d3), exported from the Set Builder Tue 22. PLN's words Tue 22
evening: "this set is not locked, just a potential one." All 10 pass
`silent-eval --seeded`, including `something_about_drums` (never validated before); the
arc needs 46 banks, all 46 on disk. Rehearsal decides what stays.
- [x] **Preload covers the set** — `preload.scd` regenerated as a SUPERSET: 125 banks
(39-track 12-month list ∪ the 10 Thursday tracks), adding `bass2` for ete_a_mauerpark.
Warms at the next parvagues-sc boot. Backup in scratchpad; file is gitignored by design.
......@@ -118,6 +120,19 @@ Open, highest leverage first:
Bites on the next `systemctl --user restart perf-tray`.
- [ ] **techno_orage d2** (line 158) silent even seeded — fix or cut. PLN's call.
- [ ] **Preload gaps**: `bass2`, `humps` lazy-load mid-set. Regenerate after the arc is picked.
- [x] **The picker now holds the whole catalog** — the Set Builder showed 14 hand-written
candidates while the sweep had already measured all 703 tracks, which made the library
look 14 deep. `tools/gen_setbuilder_catalog.py` generates `armada/setbuilder-data.js`
from `docs/2026-09-22-catalog-playability.tsv` (the sweep, now durable in the repo — it
only lived in a scratchpad), the driver journal and `preload.scd`. Every row carries
verdict, area, play count, and how many of its sample banks are warm. 597 playable
tracks, filterable by text / area / played-here / fully-warm; 21 silent-orbit behind a
toggle; 85 compile-fails not listed. Per-area chip counts cross-check against the doc
(midi/nova 181, collab 98, techno 57, hip 41, boeuf 36). Ids are now repo-relative
PATHS, not stems: 16 stems collide across folders (`major_nostalgia` in chill and
techno, all four FFF tracks in two trees), and a stem key silently merged them into one
card. A one-line migration maps any previously-stored stem to its path, so a pick made
before this change survives.
### Play history — the real candidate pool (discovered Tue 22)
......
/* Generated by tools/gen_setbuilder_catalog.py — do not hand-edit. */
window.PV_CATALOG = {"generated":"2026-09-22 14:18 UTC","source":"docs/2026-09-22-catalog-playability.tsv","counts":{"PLAYABLE":597,"SILENT_ORBIT":21,"COMPILE_FAIL":85},"journal_window_tracks":17,"tracks":[{"p":"live/collab/baba/sept1.tidal","t":"sept1","v":0,"a":"collab","s":"baba","b":16,"w":15,"n":8},{"p":"live/collab/siberie_samuel.tidal","t":"siberie_samuel","v":0,"a":"collab","s":"","b":6,"w":6,"n":6},{"p":"live/midi/nova/nujazz/rose_rouge.tidal","t":"rose_rouge","v":0,"a":"midi/nova","s":"nujazz","b":9,"w":8,"n":5},{"p":"live/midi/nova/techno/cyber_hump.tidal","t":"cyber_hump","v":0,"a":"midi/nova","s":"techno","b":5,"w":4,"n":5},{"p":"live/collab/raph/piment_bresilien.tidal","t":"piment_bresilien","v":0,"a":"collab","s":"raph","b":9,"w":8,"n":2},{"p":"live/midi/nova/techno/ete_a_mauerpark.tidal","t":"ete_a_mauerpark","v":0,"a":"midi/nova","s":"techno","b":13,"w":12,"n":2},{"p":"live/midi/nova/techno/techno_orage.tidal","t":"techno_orage","v":1,"a":"midi/nova","s":"techno","b":13,"w":12,"n":2},{"p":"live/collab/raph/jeudrill.tidal","t":"jeudrill","v":0,"a":"collab","s":"raph","b":12,"w":12,"n":1},{"p":"live/midi/nova/ambient/quand_on_decolle.tidal","t":"quand_on_decolle","v":0,"a":"midi/nova","s":"ambient","b":8,"w":8,"n":1},{"p":"live/midi/nova/nujazz/cafe_glace.tidal","t":"cafe_glace","v":0,"a":"midi/nova","s":"nujazz","b":10,"w":10,"n":1},{"p":"live/fusion/batterie.tidal","t":"batterie","v":0,"a":"fusion","s":"","b":6,"w":3,"n":1},{"p":"live/midi/nova/breaks/ton_numero.tidal","t":"ton_numero","v":0,"a":"midi/nova","s":"breaks","b":18,"w":17,"n":1},{"p":"live/midi/nova/dnb/liquid/you_my_sunshine.tidal","t":"you_my_sunshine","v":0,"a":"midi/nova","s":"dnb","b":9,"w":8,"n":1},{"p":"live/midi/nova/dnb/something_about_drums.tidal","t":"something_about_drums","v":0,"a":"midi/nova","s":"dnb","b":10,"w":9,"n":1},{"p":"live/midi/nova/dnb/wap.tidal","t":"wap","v":0,"a":"midi/nova","s":"dnb","b":11,"w":10,"n":1},{"p":"live/midi/nova/lounge/sunny_side_up.tidal","t":"sunny_side_up","v":0,"a":"midi/nova","s":"lounge","b":14,"w":13,"n":1},{"p":"live/midi/nova/techno/bombe_dj.tidal","t":"bombe_dj","v":0,"a":"midi/nova","s":"techno","b":9,"w":8,"n":1},{"p":"live/FOSDEM/after.tidal","t":"after","v":2,"a":"FOSDEM","s":"","b":3,"w":3,"n":0},{"p":"live/ambient/weird.tidal","t":"weird","v":2,"a":"ambient","s":"","b":1,"w":1,"n":0},{"p":"live/bdmania.tidal","t":"bdmania","v":0,"a":"root","s":"","b":1,"w":1,"n":0},{"p":"live/bodgan2.tidal","t":"bodgan2","v":0,"a":"root","s":"","b":3,"w":3,"n":0},{"p":"live/boeuf/algorythm/fdlm2022/what_you_wont_do_for_love.tidal","t":"what_you_wont_do_for_love","v":0,"a":"boeuf","s":"algorythm","b":5,"w":5,"n":0},{"p":"live/boeuf/algorythm/love23/cant_help_falling_in_love.tidal","t":"cant_help_falling_in_love","v":0,"a":"boeuf","s":"algorythm","b":3,"w":3,"n":0},{"p":"live/boeuf/bass_boeuf.tidal","t":"bass_boeuf","v":0,"a":"boeuf","s":"","b":12,"w":12,"n":0},{"p":"live/boeuf/biarritz/21nuit.tidal","t":"21nuit","v":0,"a":"boeuf","s":"biarritz","b":5,"w":5,"n":0},{"p":"live/boeuf/biarritz/cloud.tidal","t":"cloud","v":0,"a":"boeuf","s":"biarritz","b":4,"w":4,"n":0},{"p":"live/boeuf/premier_tour.tidal","t":"premier_tour","v":0,"a":"boeuf","s":"","b":12,"w":12,"n":0},{"p":"live/boeuf/valtho/dorian.tidal","t":"dorian","v":0,"a":"boeuf","s":"valtho","b":5,"w":5,"n":0},{"p":"live/bogbog.tidal","t":"bogbog","v":0,"a":"root","s":"","b":1,"w":1,"n":0},{"p":"live/chill/atm/board.tidal","t":"board","v":0,"a":"chill","s":"atm","b":5,"w":5,"n":0},{"p":"live/chill/atm/break_blue.tidal","t":"break_blue","v":2,"a":"chill","s":"atm","b":7,"w":7,"n":0},{"p":"live/chill/blue_mind.tidal","t":"blue_mind","v":0,"a":"chill","s":"","b":6,"w":6,"n":0},{"p":"live/chill/dub/dam.tidal","t":"dam","v":0,"a":"chill","s":"dub","b":3,"w":3,"n":0},{"p":"live/chill/mondam.tidal","t":"mondam","v":0,"a":"chill","s":"","b":5,"w":5,"n":0},{"p":"live/collab/baba/xp1.tidal","t":"xp1","v":0,"a":"collab","s":"baba","b":8,"w":8,"n":0},{"p":"live/collab/cookie/from_scratch_prep.tidal","t":"from_scratch_prep","v":0,"a":"collab","s":"cookie","b":6,"w":6,"n":0},{"p":"live/collab/kevin/synchro.tidal","t":"synchro","v":0,"a":"collab","s":"kevin","b":5,"w":5,"n":0},{"p":"live/collab/raph/acab.tidal","t":"acab","v":0,"a":"collab","s":"raph","b":5,"w":5,"n":0},{"p":"live/collab/raph/biscuit_acide.tidal","t":"biscuit_acide","v":0,"a":"collab","s":"raph","b":7,"w":7,"n":0},{"p":"live/collab/raph/el_diablo.tidal","t":"el_diablo","v":0,"a":"collab","s":"raph","b":3,"w":3,"n":0},{"p":"live/collab/raph/quatre_magiques.tidal","t":"quatre_magiques","v":0,"a":"collab","s":"raph","b":3,"w":3,"n":0},{"p":"live/collab/stevie/aime_la_jungle.tidal","t":"aime_la_jungle","v":0,"a":"collab","s":"stevie","b":7,"w":7,"n":0},{"p":"live/collab/val/samedi_acid.tidal","t":"samedi_acid","v":0,"a":"collab","s":"val","b":2,"w":2,"n":0},{"p":"live/dnb/meth.tidal","t":"meth","v":0,"a":"dnb","s":"","b":5,"w":5,"n":0},{"p":"live/dnb/montee_descente.tidal","t":"montee_descente","v":0,"a":"dnb","s":"","b":2,"w":2,"n":0},{"p":"live/dnb/moulin.tidal","t":"moulin","v":0,"a":"dnb","s":"","b":3,"w":3,"n":0},{"p":"live/dnb/slow_step_abstract.tidal","t":"slow_step_abstract","v":0,"a":"dnb","s":"","b":4,"w":4,"n":0},{"p":"live/etienne.tidal","t":"etienne","v":0,"a":"root","s":"","b":4,"w":4,"n":0},{"p":"live/fusion/b2p.tidal","t":"b2p","v":0,"a":"fusion","s":"","b":7,"w":7,"n":0},{"p":"live/fusion/bottled_baby.tidal","t":"bottled_baby","v":0,"a":"fusion","s":"","b":5,"w":5,"n":0},{"p":"live/fusion/crapeau_russe.tidal","t":"crapeau_russe","v":0,"a":"fusion","s":"","b":4,"w":4,"n":0},{"p":"live/fusion/dub_night.tidal","t":"dub_night","v":0,"a":"fusion","s":"","b":3,"w":3,"n":0},{"p":"live/fusion/mad_piano.tidal","t":"mad_piano","v":0,"a":"fusion","s":"","b":5,"w":5,"n":0},{"p":"live/hip/organ_seeker.tidal","t":"organ_seeker","v":0,"a":"hip","s":"","b":5,"w":5,"n":0},{"p":"live/hip/roll.tidal","t":"roll","v":0,"a":"hip","s":"","b":4,"w":4,"n":0},{"p":"live/hiphop.tidal","t":"hiphop","v":0,"a":"root","s":"","b":1,"w":1,"n":0},{"p":"live/jam/cosmic26.tidal","t":"cosmic26","v":0,"a":"jam","s":"","b":1,"w":1,"n":0},{"p":"live/midi/jazz_tech_piano.tidal","t":"jazz_tech_piano","v":0,"a":"midi","s":"","b":2,"w":2,"n":0},{"p":"live/midi/nova/FM/paul_machine.tidal","t":"paul_machine","v":0,"a":"midi/nova","s":"FM","b":1,"w":1,"n":0},{"p":"live/midi/nova/ambient/raise.tidal","t":"raise","v":0,"a":"midi/nova","s":"ambient","b":10,"w":10,"n":0},{"p":"live/midi/nova/boombap/module_amour.tidal","t":"module_amour","v":0,"a":"midi/nova","s":"boombap","b":8,"w":8,"n":0},{"p":"live/midi/nova/boombap/module_latin.tidal","t":"module_latin","v":0,"a":"midi/nova","s":"boombap","b":9,"w":9,"n":0},{"p":"live/midi/nova/breaks/break_the_storm.tidal","t":"break_the_storm","v":0,"a":"midi/nova","s":"breaks","b":9,"w":9,"n":0},{"p":"live/midi/nova/breaks/rub_a_drum.tidal","t":"rub_a_drum","v":0,"a":"midi/nova","s":"breaks","b":11,"w":11,"n":0},{"p":"live/midi/nova/dnb/lucy_rode.tidal","t":"lucy_rode","v":0,"a":"midi/nova","s":"dnb","b":6,"w":6,"n":0},{"p":"live/midi/nova/dubstep/break_my_new_synths.tidal","t":"break_my_new_synths","v":2,"a":"midi/nova","s":"dubstep","b":1,"w":1,"n":0},{"p":"live/midi/nova/fusion/deck_the_dancehall.tidal","t":"deck_the_dancehall","v":0,"a":"midi/nova","s":"fusion","b":5,"w":5,"n":0},{"p":"live/midi/nova/giant.tidal","t":"giant","v":0,"a":"midi/nova","s":"","b":1,"w":1,"n":0},{"p":"live/midi/nova/grunge/le_bruit_des_bots.tidal","t":"le_bruit_des_bots","v":2,"a":"midi/nova","s":"grunge","b":7,"w":7,"n":0},{"p":"live/midi/nova/jazz/the_revolution_will_be_sampled.tidal","t":"the_revolution_will_be_sampled","v":0,"a":"midi/nova","s":"jazz","b":10,"w":10,"n":0},{"p":"live/midi/nova/lounge/liquid_nite.tidal","t":"liquid_nite","v":0,"a":"midi/nova","s":"lounge","b":8,"w":8,"n":0},{"p":"live/midi/nova/punk/killing.tidal","t":"killing","v":0,"a":"midi/nova","s":"punk","b":4,"w":4,"n":0},{"p":"live/midi/nova/techno/livecode_parade.tidal","t":"livecode_parade","v":0,"a":"midi/nova","s":"techno","b":8,"w":8,"n":0},{"p":"live/midi/nova/waves.tidal","t":"waves","v":0,"a":"midi/nova","s":"","b":1,"w":1,"n":0},{"p":"live/quantum.tidal","t":"quantum","v":2,"a":"root","s":"","b":1,"w":1,"n":0},{"p":"live/techno/abstract.tidal","t":"abstract","v":0,"a":"techno","s":"","b":4,"w":4,"n":0},{"p":"live/techno/cocon.tidal","t":"cocon","v":2,"a":"techno","s":"","b":6,"w":6,"n":0},{"p":"live/techno/dambell.tidal","t":"dambell","v":2,"a":"techno","s":"","b":6,"w":6,"n":0},{"p":"live/techno/experience_vertige.tidal","t":"experience_vertige","v":0,"a":"techno","s":"","b":7,"w":7,"n":0},{"p":"live/techno/foret_noire.tidal","t":"foret_noire","v":0,"a":"techno","s":"","b":2,"w":2,"n":0},{"p":"live/techno/raclette.tidal","t":"raclette","v":0,"a":"techno","s":"","b":4,"w":4,"n":0},{"p":"live/techno/vite.tidal","t":"vite","v":2,"a":"techno","s":"","b":3,"w":3,"n":0},{"p":"live/trilles.tidal","t":"trilles","v":0,"a":"root","s":"","b":2,"w":2,"n":0},{"p":"live/tutobeat.tidal","t":"tutobeat","v":0,"a":"root","s":"","b":4,"w":4,"n":0},{"p":"live/val.tidal","t":"val","v":0,"a":"root","s":"","b":2,"w":2,"n":0},{"p":"live/FOSDEM/before.tidal","t":"before","v":0,"a":"FOSDEM","s":"","b":3,"w":2,"n":0},{"p":"live/FOSDEM/sunday.tidal","t":"sunday","v":2,"a":"FOSDEM","s":"","b":4,"w":2,"n":0},{"p":"live/FOSDEM/techno_du_soir.tidal","t":"techno_du_soir","v":0,"a":"FOSDEM","s":"","b":8,"w":3,"n":0},{"p":"live/FOSDEM/train.tidal","t":"train","v":0,"a":"FOSDEM","s":"","b":5,"w":1,"n":0},{"p":"live/FOSDEM/train_du_soir.tidal","t":"train_du_soir","v":2,"a":"FOSDEM","s":"","b":6,"w":4,"n":0},{"p":"live/TODO/dildo_cycles.tidal","t":"dildo_cycles","v":0,"a":"TODO","s":"","b":0,"w":0,"n":0},{"p":"live/amazonbeat.tidal","t":"amazonbeat","v":0,"a":"root","s":"","b":6,"w":3,"n":0},{"p":"live/ambient/batavia_la_tortue.tidal","t":"batavia_la_tortue","v":0,"a":"ambient","s":"","b":8,"w":7,"n":0},{"p":"live/ambient/before.tidal","t":"before","v":0,"a":"ambient","s":"","b":9,"w":6,"n":0},{"p":"live/ambient/brise_les_chaines.tidal","t":"brise_les_chaines","v":0,"a":"ambient","s":"","b":6,"w":5,"n":0},{"p":"live/ambient/cascade.tidal","t":"cascade","v":0,"a":"ambient","s":"","b":7,"w":4,"n":0},{"p":"live/ambient/citarpurh.tidal","t":"citarpurh","v":0,"a":"ambient","s":"","b":7,"w":5,"n":0},{"p":"live/ambient/crutches.tidal","t":"crutches","v":0,"a":"ambient","s":"","b":7,"w":5,"n":0},{"p":"live/ambient/eroll_roll.tidal","t":"eroll_roll","v":0,"a":"ambient","s":"","b":8,"w":4,"n":0},{"p":"live/ambient/fm_radio.tidal","t":"fm_radio","v":0,"a":"ambient","s":"","b":8,"w":6,"n":0},{"p":"live/ambient/inquiry.tidal","t":"inquiry","v":0,"a":"ambient","s":"","b":6,"w":5,"n":0},{"p":"live/ambient/new_machine.tidal","t":"new_machine","v":2,"a":"ambient","s":"","b":13,"w":10,"n":0},{"p":"live/ambient/radio_paradis.tidal","t":"radio_paradis","v":0,"a":"ambient","s":"","b":0,"w":0,"n":0},{"p":"live/ambient/scintillance_bleue.tidal","t":"scintillance_bleue","v":0,"a":"ambient","s":"","b":8,"w":6,"n":0},{"p":"live/ambient/tokyo_chase.tidal","t":"tokyo_chase","v":0,"a":"ambient","s":"","b":13,"w":8,"n":0},{"p":"live/ambient/wild_coffee.tidal","t":"wild_coffee","v":0,"a":"ambient","s":"","b":9,"w":8,"n":0},{"p":"live/anar.tidal","t":"anar","v":2,"a":"root","s":"","b":7,"w":3,"n":0},{"p":"live/autotune.tidal","t":"autotune","v":0,"a":"root","s":"","b":3,"w":2,"n":0},{"p":"live/boeuf/_clock.tidal","t":"_clock","v":0,"a":"boeuf","s":"","b":0,"w":0,"n":0},{"p":"live/boeuf/algo25.tidal","t":"algo25","v":0,"a":"boeuf","s":"","b":13,"w":12,"n":0},{"p":"live/boeuf/algorythm/fdlm2022/intro_parvagues.tidal","t":"intro_parvagues","v":2,"a":"boeuf","s":"algorythm","b":10,"w":7,"n":0},{"p":"live/boeuf/algorythm/fdlm2022/jolene.tidal","t":"jolene","v":0,"a":"boeuf","s":"algorythm","b":8,"w":6,"n":0},{"p":"live/boeuf/algorythm/fdlm2022/lady.tidal","t":"lady","v":0,"a":"boeuf","s":"algorythm","b":9,"w":6,"n":0},{"p":"live/boeuf/algorythm/fdlm2022/sweet_dreams.tidal","t":"sweet_dreams","v":0,"a":"boeuf","s":"algorythm","b":2,"w":1,"n":0},{"p":"live/boeuf/algorythm/fdlm2022/toxic.tidal","t":"toxic","v":0,"a":"boeuf","s":"algorythm","b":6,"w":4,"n":0},{"p":"live/boeuf/algorythm/first_jam.tidal","t":"first_jam","v":2,"a":"boeuf","s":"algorythm","b":7,"w":5,"n":0},{"p":"live/boeuf/algorythm/fix_you.tidal","t":"fix_you","v":0,"a":"boeuf","s":"algorythm","b":6,"w":4,"n":0},{"p":"live/boeuf/algorythm/fly_me_to_the_moon.tidal","t":"fly_me_to_the_moon","v":0,"a":"boeuf","s":"algorythm","b":7,"w":5,"n":0},{"p":"live/boeuf/algorythm/lonely_day.tidal","t":"lonely_day","v":0,"a":"boeuf","s":"algorythm","b":6,"w":5,"n":0},{"p":"live/boeuf/algorythm/love23/killing_me_softer.tidal","t":"killing_me_softer","v":0,"a":"boeuf","s":"algorythm","b":13,"w":9,"n":0},{"p":"live/boeuf/algorythm/love23/killing_me_softly.tidal","t":"killing_me_softly","v":1,"a":"boeuf","s":"algorythm","b":14,"w":9,"n":0},{"p":"live/boeuf/algorythm/love23/shallow.tidal","t":"shallow","v":0,"a":"boeuf","s":"algorythm","b":0,"w":0,"n":0},{"p":"live/boeuf/algorythm/love23/something_about_us.tidal","t":"something_about_us","v":0,"a":"boeuf","s":"algorythm","b":10,"w":8,"n":0},{"p":"live/boeuf/algorythm/love23/u_remind_me.tidal","t":"u_remind_me","v":0,"a":"boeuf","s":"algorythm","b":9,"w":8,"n":0},{"p":"live/boeuf/algorythm/love23/until_i_found_you.tidal","t":"until_i_found_you","v":0,"a":"boeuf","s":"algorythm","b":9,"w":7,"n":0},{"p":"live/boeuf/algorythm/season2/blues_wednesday.tidal","t":"blues_wednesday","v":2,"a":"boeuf","s":"algorythm","b":9,"w":6,"n":0},{"p":"live/boeuf/algorythm/season2/come_together.tidal","t":"come_together","v":0,"a":"boeuf","s":"algorythm","b":4,"w":3,"n":0},{"p":"live/boeuf/algorythm/something_bossa_nova.tidal","t":"something_bossa_nova","v":0,"a":"boeuf","s":"algorythm","b":6,"w":5,"n":0},{"p":"live/boeuf/august.tidal","t":"august","v":1,"a":"boeuf","s":"","b":11,"w":6,"n":0},{"p":"live/boeuf/biarritz/20sept.tidal","t":"20sept","v":0,"a":"boeuf","s":"biarritz","b":0,"w":0,"n":0},{"p":"live/boeuf/biarritz/blue_tuesday.tidal","t":"blue_tuesday","v":0,"a":"boeuf","s":"biarritz","b":11,"w":8,"n":0},{"p":"live/boeuf/biarritz/blues_debranche.tidal","t":"blues_debranche","v":0,"a":"boeuf","s":"biarritz","b":8,"w":5,"n":0},{"p":"live/boeuf/biarritz/morning_glory.tidal","t":"morning_glory","v":0,"a":"boeuf","s":"biarritz","b":4,"w":2,"n":0},{"p":"live/boeuf/canard_breake.tidal","t":"canard_breake","v":2,"a":"boeuf","s":"","b":10,"w":8,"n":0},{"p":"live/boeuf/canicule.tidal","t":"canicule","v":2,"a":"boeuf","s":"","b":10,"w":5,"n":0},{"p":"live/boeuf/dimanche_pizza.tidal","t":"dimanche_pizza","v":2,"a":"boeuf","s":"","b":10,"w":5,"n":0},{"p":"live/boeuf/fevrier.tidal","t":"fevrier","v":2,"a":"boeuf","s":"","b":12,"w":10,"n":0},{"p":"live/boeuf/lunar_light.tidal","t":"lunar_light","v":0,"a":"boeuf","s":"","b":7,"w":5,"n":0},{"p":"live/boeuf/may_cafe.tidal","t":"may_cafe","v":0,"a":"boeuf","s":"","b":18,"w":12,"n":0},{"p":"live/boeuf/nouvelle_poussiere.tidal","t":"nouvelle_poussiere","v":0,"a":"boeuf","s":"","b":5,"w":2,"n":0},{"p":"live/boeuf/samedi_canard.tidal","t":"samedi_canard","v":0,"a":"boeuf","s":"","b":9,"w":7,"n":0},{"p":"live/boeuf/samedi_chill.tidal","t":"samedi_chill","v":0,"a":"boeuf","s":"","b":6,"w":5,"n":0},{"p":"live/boeuf/samedi_confine_extra.tidal","t":"samedi_confine_extra","v":2,"a":"boeuf","s":"","b":12,"w":7,"n":0},{"p":"live/boeuf/stupefaction.tidal","t":"stupefaction","v":0,"a":"boeuf","s":"","b":9,"w":5,"n":0},{"p":"live/boeuf/valtho/cats.tidal","t":"cats","v":0,"a":"boeuf","s":"valtho","b":17,"w":11,"n":0},{"p":"live/boeuf/vendredi_saint.tidal","t":"vendredi_saint","v":0,"a":"boeuf","s":"","b":11,"w":8,"n":0},{"p":"live/boeuf/viteuf/blues.tidal","t":"blues","v":0,"a":"boeuf","s":"viteuf","b":13,"w":11,"n":0},{"p":"live/bogdan.tidal","t":"bogdan","v":2,"a":"root","s":"","b":5,"w":3,"n":0},{"p":"live/briquets.tidal","t":"briquets","v":2,"a":"root","s":"","b":7,"w":1,"n":0},{"p":"live/briquets2.tidal","t":"briquets2","v":0,"a":"root","s":"","b":6,"w":3,"n":0},{"p":"live/chill.tidal","t":"chill","v":0,"a":"root","s":"","b":7,"w":3,"n":0},{"p":"live/chill/atm/batteur.tidal","t":"batteur","v":0,"a":"chill","s":"atm","b":7,"w":6,"n":0},{"p":"live/chill/atm/hors_amsterdam.tidal","t":"hors_amsterdam","v":1,"a":"chill","s":"atm","b":6,"w":2,"n":0},{"p":"live/chill/atm/nightly.tidal","t":"nightly","v":0,"a":"chill","s":"atm","b":6,"w":5,"n":0},{"p":"live/chill/atm/workroll.tidal","t":"workroll","v":0,"a":"chill","s":"atm","b":5,"w":2,"n":0},{"p":"live/chill/bad_bad_guy.tidal","t":"bad_bad_guy","v":0,"a":"chill","s":"","b":7,"w":5,"n":0},{"p":"live/chill/birds.tidal","t":"birds","v":0,"a":"chill","s":"","b":2,"w":0,"n":0},{"p":"live/chill/break/break_the_sunday.tidal","t":"break_the_sunday","v":0,"a":"chill","s":"break","b":4,"w":3,"n":0},{"p":"live/chill/break/responsabilite.tidal","t":"responsabilite","v":0,"a":"chill","s":"break","b":6,"w":3,"n":0},{"p":"live/chill/break_toys.tidal","t":"break_toys","v":0,"a":"chill","s":"","b":6,"w":3,"n":0},{"p":"live/chill/cloudy_afternoon.tidal","t":"cloudy_afternoon","v":0,"a":"chill","s":"","b":5,"w":2,"n":0},{"p":"live/chill/dim_blue.tidal","t":"dim_blue","v":2,"a":"chill","s":"","b":4,"w":3,"n":0},{"p":"live/chill/dimanche_mineur.tidal","t":"dimanche_mineur","v":0,"a":"chill","s":"","b":12,"w":6,"n":0},{"p":"live/chill/dub.tidal","t":"dub","v":2,"a":"chill","s":"","b":5,"w":4,"n":0},{"p":"live/chill/dub/80s.tidal","t":"80s","v":0,"a":"chill","s":"dub","b":4,"w":2,"n":0},{"p":"live/chill/dub/mini_deconf.tidal","t":"mini_deconf","v":0,"a":"chill","s":"dub","b":5,"w":2,"n":0},{"p":"live/chill/dub/rebond.tidal","t":"rebond","v":0,"a":"chill","s":"dub","b":2,"w":1,"n":0},{"p":"live/chill/dub/restez_chez_vous.tidal","t":"restez_chez_vous","v":0,"a":"chill","s":"dub","b":7,"w":2,"n":0},{"p":"live/chill/dub/riddim_du_dim.tidal","t":"riddim_du_dim","v":0,"a":"chill","s":"dub","b":14,"w":6,"n":0},{"p":"live/chill/dub/sunday.tidal","t":"sunday","v":0,"a":"chill","s":"dub","b":7,"w":6,"n":0},{"p":"live/chill/epilog.tidal","t":"epilog","v":2,"a":"chill","s":"","b":11,"w":7,"n":0},{"p":"live/chill/major_nostalgia.tidal","t":"major_nostalgia","v":0,"a":"chill","s":"","b":3,"w":2,"n":0},{"p":"live/chill/neige.tidal","t":"neige","v":0,"a":"chill","s":"","b":4,"w":3,"n":0},{"p":"live/chill/powder_asmr.tidal","t":"powder_asmr","v":0,"a":"chill","s":"","b":4,"w":1,"n":0},{"p":"live/chill/ritusen.tidal","t":"ritusen","v":0,"a":"chill","s":"","b":2,"w":1,"n":0},{"p":"live/chill/tete.tidal","t":"tete","v":0,"a":"chill","s":"","b":3,"w":2,"n":0},{"p":"live/chill/timeless.tidal","t":"timeless","v":0,"a":"chill","s":"","b":4,"w":3,"n":0},{"p":"live/china.tidal","t":"china","v":0,"a":"root","s":"","b":3,"w":2,"n":0},{"p":"live/chip/ataright.tidal","t":"ataright","v":0,"a":"chip","s":"","b":7,"w":5,"n":0},{"p":"live/chip/cours_toujours.tidal","t":"cours_toujours","v":0,"a":"chip","s":"","b":10,"w":4,"n":0},{"p":"live/chip/game_on.tidal","t":"game_on","v":2,"a":"chip","s":"","b":3,"w":1,"n":0},{"p":"live/chip/nano_rain.tidal","t":"nano_rain","v":2,"a":"chip","s":"","b":11,"w":4,"n":0},{"p":"live/chip/step_silence.tidal","t":"step_silence","v":0,"a":"chip","s":"","b":7,"w":6,"n":0},{"p":"live/clinique.tidal","t":"clinique","v":0,"a":"root","s":"","b":5,"w":3,"n":0},{"p":"live/collab/Sexes/julien.tidal","t":"julien","v":0,"a":"collab","s":"Sexes","b":13,"w":8,"n":0},{"p":"live/collab/baba/_inspi.tidal","t":"_inspi","v":0,"a":"collab","s":"baba","b":2,"w":1,"n":0},{"p":"live/collab/baba/la_matrice.tidal","t":"la_matrice","v":0,"a":"collab","s":"baba","b":7,"w":6,"n":0},{"p":"live/collab/baba/larmes_salees.tidal","t":"larmes_salees","v":0,"a":"collab","s":"baba","b":10,"w":8,"n":0},{"p":"live/collab/baba/moulins_de_mon_coeur.tidal","t":"moulins_de_mon_coeur","v":0,"a":"collab","s":"baba","b":15,"w":11,"n":0},{"p":"live/collab/baba/oparoles.tidal","t":"oparoles","v":1,"a":"collab","s":"baba","b":11,"w":8,"n":0},{"p":"live/collab/baba/xp2.tidal","t":"xp2","v":0,"a":"collab","s":"baba","b":0,"w":0,"n":0},{"p":"live/collab/baba/xp3.tidal","t":"xp3","v":0,"a":"collab","s":"baba","b":6,"w":5,"n":0},{"p":"live/collab/benoit/tous_ensemble.tidal","t":"tous_ensemble","v":0,"a":"collab","s":"benoit","b":10,"w":9,"n":0},{"p":"live/collab/bobylito/exquis1.tidal","t":"exquis1","v":0,"a":"collab","s":"bobylito","b":10,"w":8,"n":0},{"p":"live/collab/bobylito/l_espace.tidal","t":"l_espace","v":0,"a":"collab","s":"bobylito","b":10,"w":9,"n":0},{"p":"live/collab/bobylito/new_jam_nu_jazz.tidal","t":"new_jam_nu_jazz","v":1,"a":"collab","s":"bobylito","b":22,"w":17,"n":0},{"p":"live/collab/cam/guitar_first.tidal","t":"guitar_first","v":0,"a":"collab","s":"cam","b":10,"w":8,"n":0},{"p":"live/collab/cam/i_come_from_cyberspace.tidal","t":"i_come_from_cyberspace","v":0,"a":"collab","s":"cam","b":8,"w":4,"n":0},{"p":"live/collab/ccc/ccc0.tidal","t":"ccc0","v":0,"a":"collab","s":"ccc","b":18,"w":16,"n":0},{"p":"live/collab/ccc/ghosts_in_the_toilets.tidal","t":"ghosts_in_the_toilets","v":0,"a":"collab","s":"ccc","b":15,"w":14,"n":0},{"p":"live/collab/clem/shiloh_tech.tidal","t":"shiloh_tech","v":0,"a":"collab","s":"clem","b":16,"w":12,"n":0},{"p":"live/collab/cookie/ccc.tidal","t":"ccc","v":0,"a":"collab","s":"cookie","b":10,"w":7,"n":0},{"p":"live/collab/cookie/from_scratch.tidal","t":"from_scratch","v":0,"a":"collab","s":"cookie","b":9,"w":7,"n":0},{"p":"live/collab/cookie/from_scratch_prep2.tidal","t":"from_scratch_prep2","v":0,"a":"collab","s":"cookie","b":8,"w":6,"n":0},{"p":"live/collab/cookie/maudite_soit_la_guerre.tidal","t":"maudite_soit_la_guerre","v":2,"a":"collab","s":"cookie","b":11,"w":8,"n":0},{"p":"live/collab/cricri/citar1.tidal","t":"citar1","v":0,"a":"collab","s":"cricri","b":10,"w":8,"n":0},{"p":"live/collab/daniel/auxiliaire.tidal","t":"auxiliaire","v":0,"a":"collab","s":"daniel","b":6,"w":5,"n":0},{"p":"live/collab/etienne/concombre.tidal","t":"concombre","v":0,"a":"collab","s":"etienne","b":7,"w":5,"n":0},{"p":"live/collab/hugo/faith_in_bass.tidal","t":"faith_in_bass","v":0,"a":"collab","s":"hugo","b":10,"w":8,"n":0},{"p":"live/collab/igor/hello_studio.tidal","t":"hello_studio","v":2,"a":"collab","s":"igor","b":19,"w":12,"n":0},{"p":"live/collab/ituin/bass_night.tidal","t":"bass_night","v":0,"a":"collab","s":"ituin","b":0,"w":0,"n":0},{"p":"live/collab/ituin/wobble_research.tidal","t":"wobble_research","v":0,"a":"collab","s":"ituin","b":0,"w":0,"n":0},{"p":"live/collab/jane/drifting_soul.tidal","t":"drifting_soul","v":0,"a":"collab","s":"jane","b":18,"w":17,"n":0},{"p":"live/collab/jane/tired_soul.tidal","t":"tired_soul","v":0,"a":"collab","s":"jane","b":19,"w":17,"n":0},{"p":"live/collab/josh/oct_18_rainy_day.tidal","t":"oct_18_rainy_day","v":0,"a":"collab","s":"josh","b":12,"w":8,"n":0},{"p":"live/collab/l'ine*fable/premiere_fable.tidal","t":"premiere_fable","v":0,"a":"collab","s":"l'ine*fable","b":11,"w":9,"n":0},{"p":"live/collab/louis/anarchie.tidal","t":"anarchie","v":0,"a":"collab","s":"louis","b":7,"w":5,"n":0},{"p":"live/collab/louis/d_accord.tidal","t":"d_accord","v":2,"a":"collab","s":"louis","b":8,"w":7,"n":0},{"p":"live/collab/micka/bazurto_closed.tidal","t":"bazurto_closed","v":0,"a":"collab","s":"micka","b":7,"w":6,"n":0},{"p":"live/collab/mousquetaires/blue_burn.tidal","t":"blue_burn","v":0,"a":"collab","s":"mousquetaires","b":8,"w":7,"n":0},{"p":"live/collab/mousquetaires/blue_gold.tidal","t":"blue_gold","v":2,"a":"collab","s":"mousquetaires","b":18,"w":17,"n":0},{"p":"live/collab/nass/bass_first.tidal","t":"bass_first","v":0,"a":"collab","s":"nass","b":9,"w":5,"n":0},{"p":"live/collab/nass/love_first.tidal","t":"love_first","v":0,"a":"collab","s":"nass","b":14,"w":9,"n":0},{"p":"live/collab/nass/mains_libres.tidal","t":"mains_libres","v":0,"a":"collab","s":"nass","b":12,"w":7,"n":0},{"p":"live/collab/nass/sogood.tidal","t":"sogood","v":0,"a":"collab","s":"nass","b":13,"w":10,"n":0},{"p":"live/collab/nvzt/liquid_finale.tidal","t":"liquid_finale","v":0,"a":"collab","s":"nvzt","b":13,"w":11,"n":0},{"p":"live/collab/quentin/pain_with_love.tidal","t":"pain_with_love","v":0,"a":"collab","s":"quentin","b":8,"w":6,"n":0},{"p":"live/collab/raph/8_blues.tidal","t":"8_blues","v":0,"a":"collab","s":"raph","b":20,"w":14,"n":0},{"p":"live/collab/raph/8bit_delicat.tidal","t":"8bit_delicat","v":0,"a":"collab","s":"raph","b":20,"w":15,"n":0},{"p":"live/collab/raph/acidule.tidal","t":"acidule","v":0,"a":"collab","s":"raph","b":13,"w":12,"n":0},{"p":"live/collab/raph/ambiance.tidal","t":"ambiance","v":0,"a":"collab","s":"raph","b":6,"w":4,"n":0},{"p":"live/collab/raph/bad_witch.tidal","t":"bad_witch","v":0,"a":"collab","s":"raph","b":8,"w":5,"n":0},{"p":"live/collab/raph/chevalerie.tidal","t":"chevalerie","v":0,"a":"collab","s":"raph","b":11,"w":9,"n":0},{"p":"live/collab/raph/coffee_pot.tidal","t":"coffee_pot","v":0,"a":"collab","s":"raph","b":1,"w":0,"n":0},{"p":"live/collab/raph/dernier_dimanche.tidal","t":"dernier_dimanche","v":0,"a":"collab","s":"raph","b":15,"w":13,"n":0},{"p":"live/collab/raph/dernier_doute.tidal","t":"dernier_doute","v":0,"a":"collab","s":"raph","b":11,"w":8,"n":0},{"p":"live/collab/raph/des_efforts.tidal","t":"des_efforts","v":0,"a":"collab","s":"raph","b":11,"w":9,"n":0},{"p":"live/collab/raph/desire.tidal","t":"desire","v":0,"a":"collab","s":"raph","b":13,"w":12,"n":0},{"p":"live/collab/raph/diable.tidal","t":"diable","v":0,"a":"collab","s":"raph","b":7,"w":6,"n":0},{"p":"live/collab/raph/drums_architect.tidal","t":"drums_architect","v":0,"a":"collab","s":"raph","b":10,"w":9,"n":0},{"p":"live/collab/raph/dub_a_trois.tidal","t":"dub_a_trois","v":0,"a":"collab","s":"raph","b":9,"w":5,"n":0},{"p":"live/collab/raph/esperluette.tidal","t":"esperluette","v":0,"a":"collab","s":"raph","b":7,"w":6,"n":0},{"p":"live/collab/raph/explo_rha_teur.tidal","t":"explo_rha_teur","v":0,"a":"collab","s":"raph","b":15,"w":13,"n":0},{"p":"live/collab/raph/han.tidal","t":"han","v":0,"a":"collab","s":"raph","b":10,"w":6,"n":0},{"p":"live/collab/raph/hard_monday.tidal","t":"hard_monday","v":0,"a":"collab","s":"raph","b":17,"w":14,"n":0},{"p":"live/collab/raph/hardorage.tidal","t":"hardorage","v":0,"a":"collab","s":"raph","b":15,"w":12,"n":0},{"p":"live/collab/raph/hello_tek.tidal","t":"hello_tek","v":0,"a":"collab","s":"raph","b":14,"w":6,"n":0},{"p":"live/collab/raph/le_blues_du_mic.tidal","t":"le_blues_du_mic","v":0,"a":"collab","s":"raph","b":9,"w":7,"n":0},{"p":"live/collab/raph/long_way.tidal","t":"long_way","v":0,"a":"collab","s":"raph","b":7,"w":6,"n":0},{"p":"live/collab/raph/mafia_sans_serif.tidal","t":"mafia_sans_serif","v":0,"a":"collab","s":"raph","b":12,"w":11,"n":0},{"p":"live/collab/raph/meshuggah.tidal","t":"meshuggah","v":0,"a":"collab","s":"raph","b":10,"w":9,"n":0},{"p":"live/collab/raph/network_zero_un.tidal","t":"network_zero_un","v":0,"a":"collab","s":"raph","b":10,"w":8,"n":0},{"p":"live/collab/raph/nouveau_punk.tidal","t":"nouveau_punk","v":1,"a":"collab","s":"raph","b":15,"w":13,"n":0},{"p":"live/collab/raph/oldskool_radius.tidal","t":"oldskool_radius","v":0,"a":"collab","s":"raph","b":10,"w":7,"n":0},{"p":"live/collab/raph/partir.tidal","t":"partir","v":2,"a":"collab","s":"raph","b":9,"w":7,"n":0},{"p":"live/collab/raph/permanence.tidal","t":"permanence","v":0,"a":"collab","s":"raph","b":10,"w":8,"n":0},{"p":"live/collab/raph/playa_fun.tidal","t":"playa_fun","v":0,"a":"collab","s":"raph","b":5,"w":4,"n":0},{"p":"live/collab/raph/punkachien.tidal","t":"punkachien","v":0,"a":"collab","s":"raph","b":11,"w":10,"n":0},{"p":"live/collab/raph/ragga_la_hierarchie.tidal","t":"ragga_la_hierarchie","v":0,"a":"collab","s":"raph","b":10,"w":6,"n":0},{"p":"live/collab/raph/rainbow_race.tidal","t":"rainbow_race","v":0,"a":"collab","s":"raph","b":7,"w":3,"n":0},{"p":"live/collab/raph/ratus.tidal","t":"ratus","v":0,"a":"collab","s":"raph","b":10,"w":9,"n":0},{"p":"live/collab/raph/sale_piano.tidal","t":"sale_piano","v":0,"a":"collab","s":"raph","b":12,"w":11,"n":0},{"p":"live/collab/raph/saria.tidal","t":"saria","v":0,"a":"collab","s":"raph","b":10,"w":9,"n":0},{"p":"live/collab/raph/sautillant.tidal","t":"sautillant","v":0,"a":"collab","s":"raph","b":7,"w":4,"n":0},{"p":"live/collab/raph/septieme_armee.tidal","t":"septieme_armee","v":0,"a":"collab","s":"raph","b":5,"w":4,"n":0},{"p":"live/collab/raph/vacances_solaires.tidal","t":"vacances_solaires","v":0,"a":"collab","s":"raph","b":13,"w":10,"n":0},{"p":"live/collab/raph/wet_hard_pussy.tidal","t":"wet_hard_pussy","v":0,"a":"collab","s":"raph","b":9,"w":8,"n":0},{"p":"live/collab/rhadamanthe.tidal","t":"rhadamanthe","v":0,"a":"collab","s":"","b":11,"w":8,"n":0},{"p":"live/collab/rhadamanthe/layering.tidal","t":"layering","v":0,"a":"collab","s":"rhadamanthe","b":4,"w":3,"n":0},{"p":"live/collab/ryan/day0.tidal","t":"day0","v":0,"a":"collab","s":"ryan","b":11,"w":10,"n":0},{"p":"live/collab/val/2026_jam.tidal","t":"2026_jam","v":0,"a":"collab","s":"val","b":11,"w":10,"n":0},{"p":"live/collab/val/ambient_dust.tidal","t":"ambient_dust","v":0,"a":"collab","s":"val","b":9,"w":8,"n":0},{"p":"live/collab/val/edgy.tidal","t":"edgy","v":0,"a":"collab","s":"val","b":7,"w":6,"n":0},{"p":"live/collab/val/euclidian_machine.tidal","t":"euclidian_machine","v":2,"a":"collab","s":"val","b":11,"w":9,"n":0},{"p":"live/collab/val/soir_noir.tidal","t":"soir_noir","v":0,"a":"collab","s":"val","b":9,"w":4,"n":0},{"p":"live/collab/val/template.tidal","t":"template","v":0,"a":"collab","s":"val","b":5,"w":3,"n":0},{"p":"live/collab/val/un_an.tidal","t":"un_an","v":0,"a":"collab","s":"val","b":12,"w":9,"n":0},{"p":"live/collab/youssef/eole.tidal","t":"eole","v":0,"a":"collab","s":"youssef","b":10,"w":9,"n":0},{"p":"live/contrevent.tidal","t":"contrevent","v":0,"a":"root","s":"","b":4,"w":2,"n":0},{"p":"live/digestion_roll.tidal","t":"digestion_roll","v":0,"a":"root","s":"","b":3,"w":2,"n":0},{"p":"live/disco/high.tidal","t":"high","v":0,"a":"disco","s":"","b":8,"w":3,"n":0},{"p":"live/dnb.tidal","t":"dnb","v":0,"a":"root","s":"","b":15,"w":6,"n":0},{"p":"live/dnb/automne_electrique.tidal","t":"automne_electrique","v":1,"a":"dnb","s":"","b":10,"w":7,"n":0},{"p":"live/dnb/bluesify.tidal","t":"bluesify","v":0,"a":"dnb","s":"","b":7,"w":5,"n":0},{"p":"live/dnb/chemise.tidal","t":"chemise","v":0,"a":"dnb","s":"","b":6,"w":2,"n":0},{"p":"live/dnb/dansant.tidal","t":"dansant","v":0,"a":"dnb","s":"","b":10,"w":6,"n":0},{"p":"live/dnb/etienne.tidal","t":"etienne","v":0,"a":"dnb","s":"","b":7,"w":4,"n":0},{"p":"live/dnb/giorgio_s_drums.tidal","t":"giorgio_s_drums","v":0,"a":"dnb","s":"","b":6,"w":5,"n":0},{"p":"live/dnb/nass.tidal","t":"nass","v":0,"a":"dnb","s":"","b":7,"w":5,"n":0},{"p":"live/dnb/nass_arrive.tidal","t":"nass_arrive","v":0,"a":"dnb","s":"","b":12,"w":6,"n":0},{"p":"live/dnb/nass_revient.tidal","t":"nass_revient","v":0,"a":"dnb","s":"","b":15,"w":10,"n":0},{"p":"live/dnb/neuro.tidal","t":"neuro","v":0,"a":"dnb","s":"","b":6,"w":3,"n":0},{"p":"live/dnb/new_synth_wave.tidal","t":"new_synth_wave","v":0,"a":"dnb","s":"","b":15,"w":9,"n":0},{"p":"live/dnb/sans_courant.tidal","t":"sans_courant","v":1,"a":"dnb","s":"","b":13,"w":9,"n":0},{"p":"live/dnb/soleil_pourpre.tidal","t":"soleil_pourpre","v":0,"a":"dnb","s":"","b":6,"w":5,"n":0},{"p":"live/dnb/vendredi_dnb.tidal","t":"vendredi_dnb","v":0,"a":"dnb","s":"","b":8,"w":7,"n":0},{"p":"live/dnb/video_live.tidal","t":"video_live","v":2,"a":"dnb","s":"","b":10,"w":9,"n":0},{"p":"live/drone/hello_drones.tidal","t":"hello_drones","v":0,"a":"drone","s":"","b":5,"w":2,"n":0},{"p":"live/drone/ordre.tidal","t":"ordre","v":0,"a":"drone","s":"","b":6,"w":3,"n":0},{"p":"live/dub/amis_roots.tidal","t":"amis_roots","v":0,"a":"dub","s":"","b":10,"w":3,"n":0},{"p":"live/dub/fdlm2021.tidal","t":"fdlm2021","v":0,"a":"dub","s":"","b":14,"w":6,"n":0},{"p":"live/dub/hello_dub.tidal","t":"hello_dub","v":0,"a":"dub","s":"","b":11,"w":6,"n":0},{"p":"live/dub/racine_clave.tidal","t":"racine_clave","v":0,"a":"dub","s":"","b":10,"w":5,"n":0},{"p":"live/dub/renfort_solaire.tidal","t":"renfort_solaire","v":0,"a":"dub","s":"","b":11,"w":7,"n":0},{"p":"live/dub/steps.tidal","t":"steps","v":0,"a":"dub","s":"","b":6,"w":2,"n":0},{"p":"live/dub/tubby_study.tidal","t":"tubby_study","v":0,"a":"dub","s":"","b":10,"w":5,"n":0},{"p":"live/exp/bogdanniv.tidal","t":"bogdanniv","v":0,"a":"exp","s":"","b":10,"w":5,"n":0},{"p":"live/exp/hot_stuff.tidal","t":"hot_stuff","v":0,"a":"exp","s":"","b":7,"w":4,"n":0},{"p":"live/francesca.tidal","t":"francesca","v":0,"a":"root","s":"","b":7,"w":4,"n":0},{"p":"live/friday.tidal","t":"friday","v":0,"a":"root","s":"","b":5,"w":1,"n":0},{"p":"live/friday2.tidal","t":"friday2","v":0,"a":"root","s":"","b":6,"w":3,"n":0},{"p":"live/friday_feb.tidal","t":"friday_feb","v":2,"a":"root","s":"","b":5,"w":4,"n":0},{"p":"live/funky_veranda.tidal","t":"funky_veranda","v":0,"a":"root","s":"","b":9,"w":5,"n":0},{"p":"live/fusion/acid_jazz.tidal","t":"acid_jazz","v":0,"a":"fusion","s":"","b":3,"w":2,"n":0},{"p":"live/fusion/acide_guitar.tidal","t":"acide_guitar","v":0,"a":"fusion","s":"","b":6,"w":3,"n":0},{"p":"live/fusion/anthropocene.tidal","t":"anthropocene","v":2,"a":"fusion","s":"","b":4,"w":2,"n":0},{"p":"live/fusion/blue_party.tidal","t":"blue_party","v":2,"a":"fusion","s":"","b":5,"w":4,"n":0},{"p":"live/fusion/bogdanerie.tidal","t":"bogdanerie","v":0,"a":"fusion","s":"","b":6,"w":4,"n":0},{"p":"live/fusion/camille.tidal","t":"camille","v":0,"a":"fusion","s":"","b":7,"w":5,"n":0},{"p":"live/fusion/castle.tidal","t":"castle","v":0,"a":"fusion","s":"","b":7,"w":5,"n":0},{"p":"live/fusion/comete/808_et_etoiles.tidal","t":"808_et_etoiles","v":0,"a":"fusion","s":"comete","b":9,"w":7,"n":0},{"p":"live/fusion/comete/marche_vertige.tidal","t":"marche_vertige","v":0,"a":"fusion","s":"comete","b":5,"w":4,"n":0},{"p":"live/fusion/comete/my_other_car_is_a_storm.tidal","t":"my_other_car_is_a_storm","v":0,"a":"fusion","s":"comete","b":9,"w":5,"n":0},{"p":"live/fusion/confine.tidal","t":"confine","v":0,"a":"fusion","s":"","b":5,"w":4,"n":0},{"p":"live/fusion/cuba_space_program.tidal","t":"cuba_space_program","v":0,"a":"fusion","s":"","b":7,"w":5,"n":0},{"p":"live/fusion/dessin.tidal","t":"dessin","v":0,"a":"fusion","s":"","b":6,"w":4,"n":0},{"p":"live/fusion/dimitri.tidal","t":"dimitri","v":0,"a":"fusion","s":"","b":11,"w":7,"n":0},{"p":"live/fusion/doux.tidal","t":"doux","v":0,"a":"fusion","s":"","b":3,"w":2,"n":0},{"p":"live/fusion/drunk_beat.tidal","t":"drunk_beat","v":0,"a":"fusion","s":"","b":5,"w":4,"n":0},{"p":"live/fusion/du_code.tidal","t":"du_code","v":0,"a":"fusion","s":"","b":6,"w":3,"n":0},{"p":"live/fusion/faites_de_la_musique.tidal","t":"faites_de_la_musique","v":0,"a":"fusion","s":"","b":16,"w":8,"n":0},{"p":"live/fusion/hipofunk.tidal","t":"hipofunk","v":0,"a":"fusion","s":"","b":8,"w":4,"n":0},{"p":"live/fusion/josephine.tidal","t":"josephine","v":0,"a":"fusion","s":"","b":1,"w":0,"n":0},{"p":"live/fusion/kaalamite.tidal","t":"kaalamite","v":0,"a":"fusion","s":"","b":4,"w":3,"n":0},{"p":"live/fusion/latin/like_what.tidal","t":"like_what","v":0,"a":"fusion","s":"latin","b":4,"w":2,"n":0},{"p":"live/fusion/lucy_sky.tidal","t":"lucy_sky","v":1,"a":"fusion","s":"","b":3,"w":2,"n":0},{"p":"live/fusion/minuit.tidal","t":"minuit","v":0,"a":"fusion","s":"","b":9,"w":7,"n":0},{"p":"live/fusion/moog_hat.tidal","t":"moog_hat","v":0,"a":"fusion","s":"","b":5,"w":4,"n":0},{"p":"live/fusion/morning/flowers.tidal","t":"flowers","v":0,"a":"fusion","s":"morning","b":9,"w":6,"n":0},{"p":"live/fusion/morning/latin_core.tidal","t":"latin_core","v":0,"a":"fusion","s":"morning","b":9,"w":4,"n":0},{"p":"live/fusion/orleans_les_bains.tidal","t":"orleans_les_bains","v":0,"a":"fusion","s":"","b":17,"w":10,"n":0},{"p":"live/fusion/ploink.tidal","t":"ploink","v":2,"a":"fusion","s":"","b":5,"w":4,"n":0},{"p":"live/fusion/sel_marin.tidal","t":"sel_marin","v":0,"a":"fusion","s":"","b":10,"w":8,"n":0},{"p":"live/fusion/you_may.tidal","t":"you_may","v":0,"a":"fusion","s":"","b":8,"w":7,"n":0},{"p":"live/hardcore/anar.tidal","t":"anar","v":2,"a":"hardcore","s":"","b":7,"w":5,"n":0},{"p":"live/hardcore/dure_liberte.tidal","t":"dure_liberte","v":0,"a":"hardcore","s":"","b":8,"w":5,"n":0},{"p":"live/hardcore/etat.tidal","t":"etat","v":0,"a":"hardcore","s":"","b":1,"w":0,"n":0},{"p":"live/hardcore/jambon.tidal","t":"jambon","v":2,"a":"hardcore","s":"","b":10,"w":6,"n":0},{"p":"live/hardcore/manoir_rhadamanthe.tidal","t":"manoir_rhadamanthe","v":1,"a":"hardcore","s":"","b":13,"w":9,"n":0},{"p":"live/hardcore/noise_in_the_wires.tidal","t":"noise_in_the_wires","v":0,"a":"hardcore","s":"","b":7,"w":3,"n":0},{"p":"live/hardcore/priere.tidal","t":"priere","v":0,"a":"hardcore","s":"","b":3,"w":2,"n":0},{"p":"live/hardcore/printanier.tidal","t":"printanier","v":0,"a":"hardcore","s":"","b":5,"w":3,"n":0},{"p":"live/hardcore/scribe.tidal","t":"scribe","v":0,"a":"hardcore","s":"","b":6,"w":4,"n":0},{"p":"live/hardcore/soleil.tidal","t":"soleil","v":0,"a":"hardcore","s":"","b":3,"w":2,"n":0},{"p":"live/hip/bb/cest_le_code.tidal","t":"cest_le_code","v":0,"a":"hip","s":"bb","b":7,"w":2,"n":0},{"p":"live/hip/bb/minibeat.tidal","t":"minibeat","v":2,"a":"hip","s":"bb","b":10,"w":4,"n":0},{"p":"live/hip/beats.tidal","t":"beats","v":0,"a":"hip","s":"","b":10,"w":6,"n":0},{"p":"live/hip/bocal.tidal","t":"bocal","v":2,"a":"hip","s":"","b":6,"w":4,"n":0},{"p":"live/hip/boombap/plage.tidal","t":"plage","v":0,"a":"hip","s":"boombap","b":13,"w":9,"n":0},{"p":"live/hip/boombap/princesse_de_mars.tidal","t":"princesse_de_mars","v":0,"a":"hip","s":"boombap","b":11,"w":8,"n":0},{"p":"live/hip/chaude_civ.tidal","t":"chaude_civ","v":0,"a":"hip","s":"","b":11,"w":3,"n":0},{"p":"live/hip/comme_un_lundi.tidal","t":"comme_un_lundi","v":0,"a":"hip","s":"","b":9,"w":6,"n":0},{"p":"live/hip/darkside/clameur.tidal","t":"clameur","v":0,"a":"hip","s":"darkside","b":12,"w":7,"n":0},{"p":"live/hip/darkside/russia.tidal","t":"russia","v":0,"a":"hip","s":"darkside","b":6,"w":5,"n":0},{"p":"live/hip/darkside/sub_marine.tidal","t":"sub_marine","v":1,"a":"hip","s":"darkside","b":10,"w":7,"n":0},{"p":"live/hip/entre_en_scene.tidal","t":"entre_en_scene","v":0,"a":"hip","s":"","b":6,"w":3,"n":0},{"p":"live/hip/instru/break_britannique.tidal","t":"break_britannique","v":0,"a":"hip","s":"instru","b":4,"w":1,"n":0},{"p":"live/hip/instru/cooldown.tidal","t":"cooldown","v":0,"a":"hip","s":"instru","b":6,"w":2,"n":0},{"p":"live/hip/instru/courant_alternatif.tidal","t":"courant_alternatif","v":0,"a":"hip","s":"instru","b":9,"w":5,"n":0},{"p":"live/hip/instru/crapeau_hippo.tidal","t":"crapeau_hippo","v":0,"a":"hip","s":"instru","b":7,"w":4,"n":0},{"p":"live/hip/instru/envahisseur_celtique.tidal","t":"envahisseur_celtique","v":2,"a":"hip","s":"instru","b":9,"w":6,"n":0},{"p":"live/hip/instru/guitar_roll.tidal","t":"guitar_roll","v":0,"a":"hip","s":"instru","b":11,"w":7,"n":0},{"p":"live/hip/instru/jardin_dhiver.tidal","t":"jardin_dhiver","v":0,"a":"hip","s":"instru","b":17,"w":9,"n":0},{"p":"live/hip/instru/jazz_noise.tidal","t":"jazz_noise","v":0,"a":"hip","s":"instru","b":6,"w":2,"n":0},{"p":"live/hip/instru/minibreak.tidal","t":"minibreak","v":0,"a":"hip","s":"instru","b":15,"w":8,"n":0},{"p":"live/hip/instru/nu.tidal","t":"nu","v":0,"a":"hip","s":"instru","b":7,"w":3,"n":0},{"p":"live/hip/instru/nuit_au_quartier_latin.tidal","t":"nuit_au_quartier_latin","v":0,"a":"hip","s":"instru","b":9,"w":6,"n":0},{"p":"live/hip/instru/pixels_roses.tidal","t":"pixels_roses","v":0,"a":"hip","s":"instru","b":9,"w":5,"n":0},{"p":"live/hip/instru/remede.tidal","t":"remede","v":0,"a":"hip","s":"instru","b":8,"w":5,"n":0},{"p":"live/hip/instru/training.tidal","t":"training","v":0,"a":"hip","s":"instru","b":13,"w":9,"n":0},{"p":"live/hip/jerem.tidal","t":"jerem","v":0,"a":"hip","s":"","b":5,"w":3,"n":0},{"p":"live/hip/lofi/808_lessons.tidal","t":"808_lessons","v":0,"a":"hip","s":"lofi","b":12,"w":8,"n":0},{"p":"live/hip/lofi/back_baby.tidal","t":"back_baby","v":0,"a":"hip","s":"lofi","b":10,"w":6,"n":0},{"p":"live/hip/lofi/brouillard.tidal","t":"brouillard","v":0,"a":"hip","s":"lofi","b":10,"w":9,"n":0},{"p":"live/hip/lofi/du_miel.tidal","t":"du_miel","v":2,"a":"hip","s":"lofi","b":7,"w":5,"n":0},{"p":"live/hip/lofi/hellofi.tidal","t":"hellofi","v":0,"a":"hip","s":"lofi","b":6,"w":5,"n":0},{"p":"live/hip/lofi/poke_bone.tidal","t":"poke_bone","v":0,"a":"hip","s":"lofi","b":7,"w":6,"n":0},{"p":"live/hip/lofi/sete_et_match.tidal","t":"sete_et_match","v":0,"a":"hip","s":"lofi","b":9,"w":7,"n":0},{"p":"live/hip/lofi/slow_mo.tidal","t":"slow_mo","v":0,"a":"hip","s":"lofi","b":15,"w":9,"n":0},{"p":"live/hip/lofi/soleil_enthousiaste.tidal","t":"soleil_enthousiaste","v":0,"a":"hip","s":"lofi","b":8,"w":7,"n":0},{"p":"live/hip/lofi/toujours_plus.tidal","t":"toujours_plus","v":0,"a":"hip","s":"lofi","b":8,"w":6,"n":0},{"p":"live/hip/mask.tidal","t":"mask","v":0,"a":"hip","s":"","b":4,"w":2,"n":0},{"p":"live/hip/pensif.tidal","t":"pensif","v":0,"a":"hip","s":"","b":7,"w":5,"n":0},{"p":"live/hip/piano_fight.tidal","t":"piano_fight","v":0,"a":"hip","s":"","b":7,"w":3,"n":0},{"p":"live/hip/solitude_hivernale.tidal","t":"solitude_hivernale","v":0,"a":"hip","s":"","b":7,"w":5,"n":0},{"p":"live/hip/sunny.tidal","t":"sunny","v":0,"a":"hip","s":"","b":10,"w":8,"n":0},{"p":"live/hip/sunny2.tidal","t":"sunny2","v":0,"a":"hip","s":"","b":8,"w":5,"n":0},{"p":"live/hip/trapped_in_space.tidal","t":"trapped_in_space","v":0,"a":"hip","s":"","b":6,"w":2,"n":0},{"p":"live/hip/volette.tidal","t":"volette","v":2,"a":"hip","s":"","b":5,"w":2,"n":0},{"p":"live/home.tidal","t":"home","v":0,"a":"root","s":"","b":8,"w":5,"n":0},{"p":"live/jam/cbow.tidal","t":"cbow","v":2,"a":"jam","s":"","b":10,"w":9,"n":0},{"p":"live/jam/chalet.tidal","t":"chalet","v":0,"a":"jam","s":"","b":5,"w":4,"n":0},{"p":"live/jam/val23.tidal","t":"val23","v":0,"a":"jam","s":"","b":18,"w":17,"n":0},{"p":"live/late/funky_evening.tidal","t":"funky_evening","v":0,"a":"late","s":"","b":8,"w":3,"n":0},{"p":"live/late/good_morning_minneapolis.tidal","t":"good_morning_minneapolis","v":0,"a":"late","s":"","b":7,"w":4,"n":0},{"p":"live/late/romain.tidal","t":"romain","v":0,"a":"late","s":"","b":10,"w":6,"n":0},{"p":"live/late/temps.tidal","t":"temps","v":0,"a":"late","s":"","b":3,"w":2,"n":0},{"p":"live/lib/prelude.tidal","t":"prelude","v":0,"a":"lib","s":"","b":0,"w":0,"n":0},{"p":"live/medievalcore.tidal","t":"medievalcore","v":0,"a":"root","s":"","b":11,"w":10,"n":0},{"p":"live/midi/ambient_space.tidal","t":"ambient_space","v":0,"a":"midi","s":"","b":11,"w":6,"n":0},{"p":"live/midi/ams_companion.tidal","t":"ams_companion","v":0,"a":"midi","s":"","b":8,"w":7,"n":0},{"p":"live/midi/beats.tidal","t":"beats","v":2,"a":"midi","s":"","b":20,"w":11,"n":0},{"p":"live/midi/break_metal.tidal","t":"break_metal","v":0,"a":"midi","s":"","b":8,"w":6,"n":0},{"p":"live/midi/bruit_hiver.tidal","t":"bruit_hiver","v":0,"a":"midi","s":"","b":6,"w":4,"n":0},{"p":"live/midi/dub.tidal","t":"dub","v":2,"a":"midi","s":"","b":14,"w":4,"n":0},{"p":"live/midi/dubmini.tidal","t":"dubmini","v":0,"a":"midi","s":"","b":8,"w":5,"n":0},{"p":"live/midi/dusty_cypres.tidal","t":"dusty_cypres","v":0,"a":"midi","s":"","b":3,"w":0,"n":0},{"p":"live/midi/dusty_marcia.tidal","t":"dusty_marcia","v":0,"a":"midi","s":"","b":2,"w":1,"n":0},{"p":"live/midi/frerot.tidal","t":"frerot","v":0,"a":"midi","s":"","b":7,"w":5,"n":0},{"p":"live/midi/hello_world.tidal","t":"hello_world","v":2,"a":"midi","s":"","b":6,"w":5,"n":0},{"p":"live/midi/jazz.tidal","t":"jazz","v":0,"a":"midi","s":"","b":6,"w":5,"n":0},{"p":"live/midi/looper/god_money.tidal","t":"god_money","v":2,"a":"midi","s":"looper","b":5,"w":3,"n":0},{"p":"live/midi/nova/120_techoirs.tidal","t":"120_techoirs","v":0,"a":"midi/nova","s":"","b":8,"w":6,"n":0},{"p":"live/midi/nova/80fonk.tidal","t":"80fonk","v":0,"a":"midi/nova","s":"","b":8,"w":5,"n":0},{"p":"live/midi/nova/DX_tech.tidal","t":"DX_tech","v":2,"a":"midi/nova","s":"","b":8,"w":7,"n":0},{"p":"live/midi/nova/FFF/Noise.tidal","t":"Noise","v":2,"a":"midi/nova","s":"FFF","b":6,"w":2,"n":0},{"p":"live/midi/nova/FFF/grace.tidal","t":"grace","v":0,"a":"midi/nova","s":"FFF","b":10,"w":8,"n":0},{"p":"live/midi/nova/FFF/mad_fonk.tidal","t":"mad_fonk","v":0,"a":"midi/nova","s":"FFF","b":12,"w":8,"n":0},{"p":"live/midi/nova/FFF/pray.tidal","t":"pray","v":2,"a":"midi/nova","s":"FFF","b":5,"w":2,"n":0},{"p":"live/midi/nova/FM/fm.tidal","t":"fm","v":0,"a":"midi/nova","s":"FM","b":0,"w":0,"n":0},{"p":"live/midi/nova/FM/heure_a_perdre.tidal","t":"heure_a_perdre","v":0,"a":"midi/nova","s":"FM","b":6,"w":5,"n":0},{"p":"live/midi/nova/FM/superFM.tidal","t":"superFM","v":0,"a":"midi/nova","s":"FM","b":0,"w":0,"n":0},{"p":"live/midi/nova/acid/gimme_acid.tidal","t":"gimme_acid","v":0,"a":"midi/nova","s":"acid","b":11,"w":10,"n":0},{"p":"live/midi/nova/acid/la_dub_sour.tidal","t":"la_dub_sour","v":0,"a":"midi/nova","s":"acid","b":9,"w":8,"n":0},{"p":"live/midi/nova/acid/la_porte_de_leternite.tidal","t":"la_porte_de_leternite","v":0,"a":"midi/nova","s":"acid","b":14,"w":11,"n":0},{"p":"live/midi/nova/ambient/ambient_chaos.tidal","t":"ambient_chaos","v":2,"a":"midi/nova","s":"ambient","b":8,"w":5,"n":0},{"p":"live/midi/nova/ambient/contre_visite.tidal","t":"contre_visite","v":0,"a":"midi/nova","s":"ambient","b":17,"w":13,"n":0},{"p":"live/midi/nova/ambient/drone_aveugle.tidal","t":"drone_aveugle","v":0,"a":"midi/nova","s":"ambient","b":9,"w":8,"n":0},{"p":"live/midi/nova/ambient/empreinte_du_numerique.tidal","t":"empreinte_du_numerique","v":0,"a":"midi/nova","s":"ambient","b":9,"w":5,"n":0},{"p":"live/midi/nova/ambient/froid_de_minuit.tidal","t":"froid_de_minuit","v":0,"a":"midi/nova","s":"ambient","b":12,"w":9,"n":0},{"p":"live/midi/nova/ambient/mono_over.tidal","t":"mono_over","v":1,"a":"midi/nova","s":"ambient","b":8,"w":4,"n":0},{"p":"live/midi/nova/ambient/prestance.tidal","t":"prestance","v":0,"a":"midi/nova","s":"ambient","b":8,"w":7,"n":0},{"p":"live/midi/nova/ambient/snow_white.tidal","t":"snow_white","v":0,"a":"midi/nova","s":"ambient","b":12,"w":7,"n":0},{"p":"live/midi/nova/beatober/oct_15_midoct.tidal","t":"oct_15_midoct","v":0,"a":"midi/nova","s":"beatober","b":7,"w":4,"n":0},{"p":"live/midi/nova/beatober/oct_16_haunted_house_insouciance.tidal","t":"oct_16_haunted_house_insouciance","v":0,"a":"midi/nova","s":"beatober","b":14,"w":13,"n":0},{"p":"live/midi/nova/beatober/oct_29_can_i_code_it.tidal","t":"oct_29_can_i_code_it","v":0,"a":"midi/nova","s":"beatober","b":12,"w":9,"n":0},{"p":"live/midi/nova/beatober/oct_5.tidal","t":"oct_5","v":2,"a":"midi/nova","s":"beatober","b":13,"w":11,"n":0},{"p":"live/midi/nova/beatober/oct_glitchs_sauvages.tidal","t":"oct_glitchs_sauvages","v":0,"a":"midi/nova","s":"beatober","b":13,"w":9,"n":0},{"p":"live/midi/nova/boombap/al_salar.tidal","t":"al_salar","v":0,"a":"midi/nova","s":"boombap","b":17,"w":11,"n":0},{"p":"live/midi/nova/boombap/boom_jane.tidal","t":"boom_jane","v":0,"a":"midi/nova","s":"boombap","b":7,"w":5,"n":0},{"p":"live/midi/nova/boombap/chemise_a_carreaux.tidal","t":"chemise_a_carreaux","v":0,"a":"midi/nova","s":"boombap","b":10,"w":8,"n":0},{"p":"live/midi/nova/boombap/creme.tidal","t":"creme","v":0,"a":"midi/nova","s":"boombap","b":11,"w":8,"n":0},{"p":"live/midi/nova/boombap/el_mundo.tidal","t":"el_mundo","v":0,"a":"midi/nova","s":"boombap","b":11,"w":7,"n":0},{"p":"live/midi/nova/boombap/latin_au_chocolat.tidal","t":"latin_au_chocolat","v":0,"a":"midi/nova","s":"boombap","b":6,"w":5,"n":0},{"p":"live/midi/nova/boombap/rien_a_craindre.tidal","t":"rien_a_craindre","v":0,"a":"midi/nova","s":"boombap","b":11,"w":8,"n":0},{"p":"live/midi/nova/boombap/saloon.tidal","t":"saloon","v":0,"a":"midi/nova","s":"boombap","b":9,"w":5,"n":0},{"p":"live/midi/nova/boombap/sept20.tidal","t":"sept20","v":0,"a":"midi/nova","s":"boombap","b":10,"w":6,"n":0},{"p":"live/midi/nova/boombap/trop_plein.tidal","t":"trop_plein","v":0,"a":"midi/nova","s":"boombap","b":9,"w":5,"n":0},{"p":"live/midi/nova/breaks.tidal","t":"breaks","v":0,"a":"midi/nova","s":"","b":2,"w":1,"n":0},{"p":"live/midi/nova/breaks/StolenChoir.tidal","t":"StolenChoir","v":0,"a":"midi/nova","s":"breaks","b":12,"w":8,"n":0},{"p":"live/midi/nova/breaks/acid_rain.tidal","t":"acid_rain","v":0,"a":"midi/nova","s":"breaks","b":14,"w":8,"n":0},{"p":"live/midi/nova/breaks/bain_electrique.tidal","t":"bain_electrique","v":0,"a":"midi/nova","s":"breaks","b":19,"w":18,"n":0},{"p":"live/midi/nova/breaks/break_90s.tidal","t":"break_90s","v":2,"a":"midi/nova","s":"breaks","b":10,"w":6,"n":0},{"p":"live/midi/nova/breaks/break_at_home.tidal","t":"break_at_home","v":2,"a":"midi/nova","s":"breaks","b":4,"w":3,"n":0},{"p":"live/midi/nova/breaks/break_dynasty.tidal","t":"break_dynasty","v":0,"a":"midi/nova","s":"breaks","b":8,"w":6,"n":0},{"p":"live/midi/nova/breaks/break_low.tidal","t":"break_low","v":0,"a":"midi/nova","s":"breaks","b":12,"w":10,"n":0},{"p":"live/midi/nova/breaks/break_the_night.tidal","t":"break_the_night","v":0,"a":"midi/nova","s":"breaks","b":10,"w":5,"n":0},{"p":"live/midi/nova/breaks/break_the_rentree.tidal","t":"break_the_rentree","v":0,"a":"midi/nova","s":"breaks","b":9,"w":3,"n":0},{"p":"live/midi/nova/breaks/code_secret.tidal","t":"code_secret","v":0,"a":"midi/nova","s":"breaks","b":9,"w":7,"n":0},{"p":"live/midi/nova/breaks/green_land.tidal","t":"green_land","v":0,"a":"midi/nova","s":"breaks","b":12,"w":9,"n":0},{"p":"live/midi/nova/breaks/hello_fred.tidal","t":"hello_fred","v":0,"a":"midi/nova","s":"breaks","b":7,"w":4,"n":0},{"p":"live/midi/nova/breaks/its_about_time.tidal","t":"its_about_time","v":2,"a":"midi/nova","s":"breaks","b":12,"w":7,"n":0},{"p":"live/midi/nova/breaks/jesus_loves_disco.tidal","t":"jesus_loves_disco","v":0,"a":"midi/nova","s":"breaks","b":7,"w":6,"n":0},{"p":"live/midi/nova/breaks/la_canopee.tidal","t":"la_canopee","v":0,"a":"midi/nova","s":"breaks","b":6,"w":4,"n":0},{"p":"live/midi/nova/breaks/lady_perplexity.tidal","t":"lady_perplexity","v":0,"a":"midi/nova","s":"breaks","b":11,"w":10,"n":0},{"p":"live/midi/nova/breaks/lourd.tidal","t":"lourd","v":0,"a":"midi/nova","s":"breaks","b":10,"w":6,"n":0},{"p":"live/midi/nova/breaks/lunar.tidal","t":"lunar","v":0,"a":"midi/nova","s":"breaks","b":7,"w":6,"n":0},{"p":"live/midi/nova/breaks/madeleine_de_paris.tidal","t":"madeleine_de_paris","v":0,"a":"midi/nova","s":"breaks","b":9,"w":8,"n":0},{"p":"live/midi/nova/breaks/midnight_breaking.tidal","t":"midnight_breaking","v":0,"a":"midi/nova","s":"breaks","b":14,"w":8,"n":0},{"p":"live/midi/nova/breaks/monday_fairy.tidal","t":"monday_fairy","v":0,"a":"midi/nova","s":"breaks","b":13,"w":10,"n":0},{"p":"live/midi/nova/breaks/nova_bossa.tidal","t":"nova_bossa","v":2,"a":"midi/nova","s":"breaks","b":9,"w":6,"n":0},{"p":"live/midi/nova/breaks/nuit_agitee.tidal","t":"nuit_agitee","v":1,"a":"midi/nova","s":"breaks","b":13,"w":12,"n":0},{"p":"live/midi/nova/breaks/rose_eternelle.tidal","t":"rose_eternelle","v":0,"a":"midi/nova","s":"breaks","b":9,"w":8,"n":0},{"p":"live/midi/nova/breaks/slower.tidal","t":"slower","v":0,"a":"midi/nova","s":"breaks","b":11,"w":7,"n":0},{"p":"live/midi/nova/breaks/solar.tidal","t":"solar","v":2,"a":"midi/nova","s":"breaks","b":12,"w":9,"n":0},{"p":"live/midi/nova/breaks/spanish_thingy.tidal","t":"spanish_thingy","v":0,"a":"midi/nova","s":"breaks","b":7,"w":5,"n":0},{"p":"live/midi/nova/breaks/the_secret.tidal","t":"the_secret","v":0,"a":"midi/nova","s":"breaks","b":12,"w":10,"n":0},{"p":"live/midi/nova/computer_riddub.tidal","t":"computer_riddub","v":2,"a":"midi/nova","s":"","b":17,"w":12,"n":0},{"p":"live/midi/nova/disco/buena_sera_milano.tidal","t":"buena_sera_milano","v":0,"a":"midi/nova","s":"disco","b":7,"w":6,"n":0},{"p":"live/midi/nova/disco/friends_in_blue.tidal","t":"friends_in_blue","v":0,"a":"midi/nova","s":"disco","b":9,"w":5,"n":0},{"p":"live/midi/nova/dnb/BreakBass.tidal","t":"BreakBass","v":2,"a":"midi/nova","s":"dnb","b":20,"w":11,"n":0},{"p":"live/midi/nova/dnb/MethBass.tidal","t":"MethBass","v":0,"a":"midi/nova","s":"dnb","b":11,"w":7,"n":0},{"p":"live/midi/nova/dnb/alerte_verte.tidal","t":"alerte_verte","v":0,"a":"midi/nova","s":"dnb","b":18,"w":14,"n":0},{"p":"live/midi/nova/dnb/anniv.tidal","t":"anniv","v":0,"a":"midi/nova","s":"dnb","b":16,"w":11,"n":0},{"p":"live/midi/nova/dnb/break_the_loop.tidal","t":"break_the_loop","v":0,"a":"midi/nova","s":"dnb","b":9,"w":7,"n":0},{"p":"live/midi/nova/dnb/bruler_franchement.tidal","t":"bruler_franchement","v":0,"a":"midi/nova","s":"dnb","b":10,"w":8,"n":0},{"p":"live/midi/nova/dnb/drums_I_presume.tidal","t":"drums_I_presume","v":0,"a":"midi/nova","s":"dnb","b":8,"w":6,"n":0},{"p":"live/midi/nova/dnb/force_motrice.tidal","t":"force_motrice","v":0,"a":"midi/nova","s":"dnb","b":15,"w":14,"n":0},{"p":"live/midi/nova/dnb/golden_drum.tidal","t":"golden_drum","v":0,"a":"midi/nova","s":"dnb","b":14,"w":12,"n":0},{"p":"live/midi/nova/dnb/jet_de_resistance.tidal","t":"jet_de_resistance","v":0,"a":"midi/nova","s":"dnb","b":6,"w":4,"n":0},{"p":"live/midi/nova/dnb/la_bonne_pression.tidal","t":"la_bonne_pression","v":0,"a":"midi/nova","s":"dnb","b":14,"w":10,"n":0},{"p":"live/midi/nova/dnb/la_foule.tidal","t":"la_foule","v":0,"a":"midi/nova","s":"dnb","b":13,"w":11,"n":0},{"p":"live/midi/nova/dnb/lime_tacos.tidal","t":"lime_tacos","v":0,"a":"midi/nova","s":"dnb","b":12,"w":11,"n":0},{"p":"live/midi/nova/dnb/noname.tidal","t":"noname","v":0,"a":"midi/nova","s":"dnb","b":13,"w":8,"n":0},{"p":"live/midi/nova/dnb/nouveau_soleil.tidal","t":"nouveau_soleil","v":0,"a":"midi/nova","s":"dnb","b":13,"w":9,"n":0},{"p":"live/midi/nova/dnb/perceneige.tidal","t":"perceneige","v":0,"a":"midi/nova","s":"dnb","b":8,"w":4,"n":0},{"p":"live/midi/nova/dnb/plosive.tidal","t":"plosive","v":0,"a":"midi/nova","s":"dnb","b":11,"w":10,"n":0},{"p":"live/midi/nova/dnb/prepabass.tidal","t":"prepabass","v":0,"a":"midi/nova","s":"dnb","b":10,"w":9,"n":0},{"p":"live/midi/nova/dnb/venons_ensemble.tidal","t":"venons_ensemble","v":0,"a":"midi/nova","s":"dnb","b":16,"w":11,"n":0},{"p":"live/midi/nova/dub.tidal","t":"dub","v":0,"a":"midi/nova","s":"","b":8,"w":4,"n":0},{"p":"live/midi/nova/dub/big_morning.tidal","t":"big_morning","v":0,"a":"midi/nova","s":"dub","b":8,"w":6,"n":0},{"p":"live/midi/nova/dub/computer_riddim.tidal","t":"computer_riddim","v":0,"a":"midi/nova","s":"dub","b":15,"w":11,"n":0},{"p":"live/midi/nova/dub/simon_arrive.tidal","t":"simon_arrive","v":0,"a":"midi/nova","s":"dub","b":2,"w":1,"n":0},{"p":"live/midi/nova/dub/skunky.tidal","t":"skunky","v":0,"a":"midi/nova","s":"dub","b":14,"w":11,"n":0},{"p":"live/midi/nova/feu.tidal","t":"feu","v":2,"a":"midi/nova","s":"","b":12,"w":9,"n":0},{"p":"live/midi/nova/fm.tidal","t":"fm","v":0,"a":"midi/nova","s":"","b":0,"w":0,"n":0},{"p":"live/midi/nova/fusion/all_the_way.tidal","t":"all_the_way","v":0,"a":"midi/nova","s":"fusion","b":7,"w":6,"n":0},{"p":"live/midi/nova/fusion/coworking.tidal","t":"coworking","v":0,"a":"midi/nova","s":"fusion","b":8,"w":7,"n":0},{"p":"live/midi/nova/fusion/crystal_d_ete.tidal","t":"crystal_d_ete","v":0,"a":"midi/nova","s":"fusion","b":8,"w":6,"n":0},{"p":"live/midi/nova/fusion/elephunk.tidal","t":"elephunk","v":0,"a":"midi/nova","s":"fusion","b":11,"w":4,"n":0},{"p":"live/midi/nova/fusion/etapes.tidal","t":"etapes","v":2,"a":"midi/nova","s":"fusion","b":8,"w":5,"n":0},{"p":"live/midi/nova/fusion/funk_trap.tidal","t":"funk_trap","v":0,"a":"midi/nova","s":"fusion","b":0,"w":0,"n":0},{"p":"live/midi/nova/fusion/qui_sait.tidal","t":"qui_sait","v":0,"a":"midi/nova","s":"fusion","b":7,"w":5,"n":0},{"p":"live/midi/nova/fusion/shape_of_foo.tidal","t":"shape_of_foo","v":0,"a":"midi/nova","s":"fusion","b":9,"w":5,"n":0},{"p":"live/midi/nova/grime/bogdan_arrive.tidal","t":"bogdan_arrive","v":0,"a":"midi/nova","s":"grime","b":14,"w":12,"n":0},{"p":"live/midi/nova/harder_crime.tidal","t":"harder_crime","v":0,"a":"midi/nova","s":"","b":11,"w":8,"n":0},{"p":"live/midi/nova/instruments/8box.tidal","t":"8box","v":2,"a":"midi/nova","s":"instruments","b":17,"w":12,"n":0},{"p":"live/midi/nova/instruments/AtomicRhodes.tidal","t":"AtomicRhodes","v":2,"a":"midi/nova","s":"instruments","b":7,"w":6,"n":0},{"p":"live/midi/nova/instruments/scratchomatic.tidal","t":"scratchomatic","v":1,"a":"midi/nova","s":"instruments","b":7,"w":4,"n":0},{"p":"live/midi/nova/jamuary/2504_ce_quon_ignore.tidal","t":"2504_ce_quon_ignore","v":0,"a":"midi/nova","s":"jamuary","b":10,"w":8,"n":0},{"p":"live/midi/nova/jazz/giant_technique.tidal","t":"giant_technique","v":0,"a":"midi/nova","s":"jazz","b":6,"w":4,"n":0},{"p":"live/midi/nova/jungle/chemin_de_traverse.tidal","t":"chemin_de_traverse","v":0,"a":"midi/nova","s":"jungle","b":9,"w":5,"n":0},{"p":"live/midi/nova/lofi/back_baby.tidal","t":"back_baby","v":0,"a":"midi/nova","s":"lofi","b":8,"w":4,"n":0},{"p":"live/midi/nova/lofi/dark_money.tidal","t":"dark_money","v":0,"a":"midi/nova","s":"lofi","b":10,"w":8,"n":0},{"p":"live/midi/nova/lofi/fictional_yehuda.tidal","t":"fictional_yehuda","v":0,"a":"midi/nova","s":"lofi","b":8,"w":5,"n":0},{"p":"live/midi/nova/lofi/hello_shiloh.tidal","t":"hello_shiloh","v":0,"a":"midi/nova","s":"lofi","b":7,"w":4,"n":0},{"p":"live/midi/nova/lofi/lendemain_divin.tidal","t":"lendemain_divin","v":1,"a":"midi/nova","s":"lofi","b":9,"w":7,"n":0},{"p":"live/midi/nova/lofi/low_and_numb.tidal","t":"low_and_numb","v":0,"a":"midi/nova","s":"lofi","b":9,"w":7,"n":0},{"p":"live/midi/nova/lofi/new_dust.tidal","t":"new_dust","v":0,"a":"midi/nova","s":"lofi","b":12,"w":8,"n":0},{"p":"live/midi/nova/lofi/pour_une_hypothese.tidal","t":"pour_une_hypothese","v":0,"a":"midi/nova","s":"lofi","b":11,"w":10,"n":0},{"p":"live/midi/nova/lofi/premier_mai.tidal","t":"premier_mai","v":0,"a":"midi/nova","s":"lofi","b":8,"w":6,"n":0},{"p":"live/midi/nova/lofi/premiere_grillade.tidal","t":"premiere_grillade","v":0,"a":"midi/nova","s":"lofi","b":9,"w":7,"n":0},{"p":"live/midi/nova/lofi/reboot.tidal","t":"reboot","v":0,"a":"midi/nova","s":"lofi","b":11,"w":6,"n":0},{"p":"live/midi/nova/lofi/savoir_voyager.tidal","t":"savoir_voyager","v":0,"a":"midi/nova","s":"lofi","b":12,"w":10,"n":0},{"p":"live/midi/nova/lofi/soleil_de_sete.tidal","t":"soleil_de_sete","v":0,"a":"midi/nova","s":"lofi","b":10,"w":8,"n":0},{"p":"live/midi/nova/lofi/sunny_march.tidal","t":"sunny_march","v":0,"a":"midi/nova","s":"lofi","b":8,"w":5,"n":0},{"p":"live/midi/nova/lofi/zombie_bed.tidal","t":"zombie_bed","v":0,"a":"midi/nova","s":"lofi","b":12,"w":10,"n":0},{"p":"live/midi/nova/lounge/acidoo.tidal","t":"acidoo","v":0,"a":"midi/nova","s":"lounge","b":14,"w":12,"n":0},{"p":"live/midi/nova/lounge/blade_dreamer.tidal","t":"blade_dreamer","v":0,"a":"midi/nova","s":"lounge","b":12,"w":7,"n":0},{"p":"live/midi/nova/lounge/cbow.tidal","t":"cbow","v":2,"a":"midi/nova","s":"lounge","b":15,"w":12,"n":0},{"p":"live/midi/nova/lounge/fabuleux.tidal","t":"fabuleux","v":0,"a":"midi/nova","s":"lounge","b":10,"w":8,"n":0},{"p":"live/midi/nova/lounge/hello_loo.tidal","t":"hello_loo","v":0,"a":"midi/nova","s":"lounge","b":4,"w":3,"n":0},{"p":"live/midi/nova/lounge/hoover_sepia.tidal","t":"hoover_sepia","v":0,"a":"midi/nova","s":"lounge","b":7,"w":6,"n":0},{"p":"live/midi/nova/lounge/invoque_ete.tidal","t":"invoque_ete","v":2,"a":"midi/nova","s":"lounge","b":16,"w":11,"n":0},{"p":"live/midi/nova/lounge/la_nuit_je_funk.tidal","t":"la_nuit_je_funk","v":0,"a":"midi/nova","s":"lounge","b":10,"w":9,"n":0},{"p":"live/midi/nova/lounge/michael.tidal","t":"michael","v":0,"a":"midi/nova","s":"lounge","b":10,"w":5,"n":0},{"p":"live/midi/nova/lounge/mojo_hats.tidal","t":"mojo_hats","v":0,"a":"midi/nova","s":"lounge","b":5,"w":3,"n":0},{"p":"live/midi/nova/lounge/night_sun.tidal","t":"night_sun","v":0,"a":"midi/nova","s":"lounge","b":11,"w":9,"n":0},{"p":"live/midi/nova/lounge/ouais_je_funk.tidal","t":"ouais_je_funk","v":0,"a":"midi/nova","s":"lounge","b":17,"w":16,"n":0},{"p":"live/midi/nova/lounge/soleil_du_soir.tidal","t":"soleil_du_soir","v":0,"a":"midi/nova","s":"lounge","b":13,"w":11,"n":0},{"p":"live/midi/nova/lounge/suns_of_gold.tidal","t":"suns_of_gold","v":0,"a":"midi/nova","s":"lounge","b":16,"w":13,"n":0},{"p":"live/midi/nova/lounge/take_5_drops.tidal","t":"take_5_drops","v":0,"a":"midi/nova","s":"lounge","b":10,"w":9,"n":0},{"p":"live/midi/nova/lounge/top_hats.tidal","t":"top_hats","v":0,"a":"midi/nova","s":"lounge","b":9,"w":6,"n":0},{"p":"live/midi/nova/minneapolis.tidal","t":"minneapolis","v":0,"a":"midi/nova","s":"","b":12,"w":9,"n":0},{"p":"live/midi/nova/nujazz/cafe_bouillant.tidal","t":"cafe_bouillant","v":0,"a":"midi/nova","s":"nujazz","b":13,"w":11,"n":0},{"p":"live/midi/nova/nujazz/cafe_tiede.tidal","t":"cafe_tiede","v":0,"a":"midi/nova","s":"nujazz","b":11,"w":10,"n":0},{"p":"live/midi/nova/nujazz/chere_mireille.tidal","t":"chere_mireille","v":0,"a":"midi/nova","s":"nujazz","b":18,"w":14,"n":0},{"p":"live/midi/nova/nujazz/dimanche_numb.tidal","t":"dimanche_numb","v":0,"a":"midi/nova","s":"nujazz","b":12,"w":9,"n":0},{"p":"live/midi/nova/nujazz/infusion_basse.tidal","t":"infusion_basse","v":0,"a":"midi/nova","s":"nujazz","b":11,"w":8,"n":0},{"p":"live/midi/nova/nujazz/menthe_givree.tidal","t":"menthe_givree","v":0,"a":"midi/nova","s":"nujazz","b":8,"w":7,"n":0},{"p":"live/midi/nova/nujazz/nouvelle_couleur.tidal","t":"nouvelle_couleur","v":0,"a":"midi/nova","s":"nujazz","b":10,"w":8,"n":0},{"p":"live/midi/nova/nujazz/nu_dans_la_boue.tidal","t":"nu_dans_la_boue","v":1,"a":"midi/nova","s":"nujazz","b":16,"w":14,"n":0},{"p":"live/midi/nova/nujazz/salut_nu.tidal","t":"salut_nu","v":0,"a":"midi/nova","s":"nujazz","b":14,"w":13,"n":0},{"p":"live/midi/nova/once_upon_a_loop.tidal","t":"once_upon_a_loop","v":2,"a":"midi/nova","s":"","b":8,"w":5,"n":0},{"p":"live/midi/nova/party/80s_neon.tidal","t":"80s_neon","v":0,"a":"midi/nova","s":"party","b":11,"w":6,"n":0},{"p":"live/midi/nova/party/blues_machine.tidal","t":"blues_machine","v":0,"a":"midi/nova","s":"party","b":3,"w":1,"n":0},{"p":"live/midi/nova/party/dark_angel_frappe.tidal","t":"dark_angel_frappe","v":1,"a":"midi/nova","s":"party","b":12,"w":8,"n":0},{"p":"live/midi/nova/party/electro_blues.tidal","t":"electro_blues","v":2,"a":"midi/nova","s":"party","b":5,"w":3,"n":0},{"p":"live/midi/nova/party/last_one.tidal","t":"last_one","v":0,"a":"midi/nova","s":"party","b":12,"w":11,"n":0},{"p":"live/midi/nova/party/maudits_insectes.tidal","t":"maudits_insectes","v":0,"a":"midi/nova","s":"party","b":6,"w":4,"n":0},{"p":"live/midi/nova/party/phunk.tidal","t":"phunk","v":2,"a":"midi/nova","s":"party","b":17,"w":10,"n":0},{"p":"live/midi/nova/party/sidekick.tidal","t":"sidekick","v":0,"a":"midi/nova","s":"party","b":10,"w":7,"n":0},{"p":"live/midi/nova/party/technomidi.tidal","t":"technomidi","v":0,"a":"midi/nova","s":"party","b":6,"w":4,"n":0},{"p":"live/midi/nova/party_hard.tidal","t":"party_hard","v":2,"a":"midi/nova","s":"","b":9,"w":6,"n":0},{"p":"live/midi/nova/punk/hello_poesie.tidal","t":"hello_poesie","v":0,"a":"midi/nova","s":"punk","b":8,"w":4,"n":0},{"p":"live/midi/nova/punk/punk_teng.tidal","t":"punk_teng","v":0,"a":"midi/nova","s":"punk","b":7,"w":4,"n":0},{"p":"live/midi/nova/remix/perfect.tidal","t":"perfect","v":0,"a":"midi/nova","s":"remix","b":12,"w":11,"n":0},{"p":"live/midi/nova/superFM.tidal","t":"superFM","v":0,"a":"midi/nova","s":"","b":0,"w":0,"n":0},{"p":"live/midi/nova/techno/around_the_bass.tidal","t":"around_the_bass","v":0,"a":"midi/nova","s":"techno","b":8,"w":7,"n":0},{"p":"live/midi/nova/techno/belle_pluie.tidal","t":"belle_pluie","v":0,"a":"midi/nova","s":"techno","b":12,"w":9,"n":0},{"p":"live/midi/nova/techno/ca_fait_rien.tidal","t":"ca_fait_rien","v":0,"a":"midi/nova","s":"techno","b":13,"w":7,"n":0},{"p":"live/midi/nova/techno/coconut_coffee.tidal","t":"coconut_coffee","v":0,"a":"midi/nova","s":"techno","b":8,"w":7,"n":0},{"p":"live/midi/nova/techno/electric_hammer.tidal","t":"electric_hammer","v":0,"a":"midi/nova","s":"techno","b":7,"w":4,"n":0},{"p":"live/midi/nova/techno/ere_de_jeu.tidal","t":"ere_de_jeu","v":0,"a":"midi/nova","s":"techno","b":17,"w":16,"n":0},{"p":"live/midi/nova/techno/industry/no_panic.tidal","t":"no_panic","v":0,"a":"midi/nova","s":"techno","b":9,"w":8,"n":0},{"p":"live/midi/nova/techno/law_and_order.tidal","t":"law_and_order","v":0,"a":"midi/nova","s":"techno","b":9,"w":8,"n":0},{"p":"live/midi/nova/techno/love_of_techno.tidal","t":"love_of_techno","v":0,"a":"midi/nova","s":"techno","b":4,"w":3,"n":0},{"p":"live/midi/nova/techno/panda_rouge.tidal","t":"panda_rouge","v":0,"a":"midi/nova","s":"techno","b":12,"w":9,"n":0},{"p":"live/midi/nova/techno/prelude.tidal","t":"prelude","v":0,"a":"midi/nova","s":"techno","b":11,"w":10,"n":0},{"p":"live/midi/nova/techno/techno_oligarchie.tidal","t":"techno_oligarchie","v":0,"a":"midi/nova","s":"techno","b":15,"w":10,"n":0},{"p":"live/midi/nova/techno/techno_pretre.tidal","t":"techno_pretre","v":0,"a":"midi/nova","s":"techno","b":7,"w":4,"n":0},{"p":"live/midi/nova/techno/the_good_bass.tidal","t":"the_good_bass","v":0,"a":"midi/nova","s":"techno","b":8,"w":7,"n":0},{"p":"live/midi/nova/techno/tour_du_ciel.tidal","t":"tour_du_ciel","v":0,"a":"midi/nova","s":"techno","b":8,"w":4,"n":0},{"p":"live/midi/nova/techno/trn/no_time_to_die.tidal","t":"no_time_to_die","v":0,"a":"midi/nova","s":"techno","b":10,"w":5,"n":0},{"p":"live/midi/nova/tidal_crime.tidal","t":"tidal_crime","v":0,"a":"midi/nova","s":"","b":11,"w":8,"n":0},{"p":"live/midi/nova/wave/horizons.tidal","t":"horizons","v":0,"a":"midi/nova","s":"wave","b":14,"w":10,"n":0},{"p":"live/midi/nova/zelda.tidal","t":"zelda","v":2,"a":"midi/nova","s":"","b":12,"w":8,"n":0},{"p":"live/midi/toyota.tidal","t":"toyota","v":0,"a":"midi","s":"","b":7,"w":5,"n":0},{"p":"live/midi/zelda/mashup.tidal","t":"mashup","v":0,"a":"midi","s":"zelda","b":3,"w":1,"n":0},{"p":"live/mood/energy/waiting.tidal","t":"waiting","v":0,"a":"mood","s":"energy","b":9,"w":5,"n":0},{"p":"live/mood/fight/clav_clash.tidal","t":"clav_clash","v":0,"a":"mood","s":"fight","b":6,"w":3,"n":0},{"p":"live/mood/fight/grimpe.tidal","t":"grimpe","v":0,"a":"mood","s":"fight","b":9,"w":4,"n":0},{"p":"live/mood/fight/sage.tidal","t":"sage","v":0,"a":"mood","s":"fight","b":6,"w":5,"n":0},{"p":"live/mood/sad/bass_vibes.tidal","t":"bass_vibes","v":2,"a":"mood","s":"sad","b":10,"w":9,"n":0},{"p":"live/mood/sad/infiltrations.tidal","t":"infiltrations","v":0,"a":"mood","s":"sad","b":8,"w":7,"n":0},{"p":"live/mood/soothing/breathe.tidal","t":"breathe","v":0,"a":"mood","s":"soothing","b":7,"w":6,"n":0},{"p":"live/mood/soothing/tea_time.tidal","t":"tea_time","v":0,"a":"mood","s":"soothing","b":9,"w":6,"n":0},{"p":"live/mood/soothing/tone_down.tidal","t":"tone_down","v":0,"a":"mood","s":"soothing","b":7,"w":5,"n":0},{"p":"live/mood/tired/afternoon.tidal","t":"afternoon","v":0,"a":"mood","s":"tired","b":7,"w":3,"n":0},{"p":"live/noise/decentering.tidal","t":"decentering","v":0,"a":"noise","s":"","b":6,"w":1,"n":0},{"p":"live/noise/omondi_no_more.tidal","t":"omondi_no_more","v":0,"a":"noise","s":"","b":6,"w":3,"n":0},{"p":"live/noise/vie_hivernale.tidal","t":"vie_hivernale","v":0,"a":"noise","s":"","b":7,"w":4,"n":0},{"p":"live/nuit.tidal","t":"nuit","v":0,"a":"root","s":"","b":7,"w":3,"n":0},{"p":"live/offbeat.tidal","t":"offbeat","v":0,"a":"root","s":"","b":6,"w":3,"n":0},{"p":"live/pair/be_my_punk.tidal","t":"be_my_punk","v":0,"a":"pair","s":"","b":11,"w":7,"n":0},{"p":"live/pair/technopunk.tidal","t":"technopunk","v":0,"a":"pair","s":"","b":4,"w":3,"n":0},{"p":"live/pianotrap.tidal","t":"pianotrap","v":2,"a":"root","s":"","b":5,"w":3,"n":0},{"p":"live/psc/bbq.tidal","t":"bbq","v":0,"a":"psc","s":"","b":8,"w":7,"n":0},{"p":"live/remix/day_trippin.tidal","t":"day_trippin","v":0,"a":"remix","s":"","b":8,"w":5,"n":0},{"p":"live/remix/kanye_fly.tidal","t":"kanye_fly","v":2,"a":"remix","s":"","b":12,"w":8,"n":0},{"p":"live/remix/stup.tidal","t":"stup","v":0,"a":"remix","s":"","b":10,"w":6,"n":0},{"p":"live/scratch.tidal","t":"scratch","v":0,"a":"root","s":"","b":2,"w":1,"n":0},{"p":"live/seb.tidal","t":"seb","v":0,"a":"root","s":"","b":6,"w":4,"n":0},{"p":"live/snake.tidal","t":"snake","v":2,"a":"root","s":"","b":4,"w":1,"n":0},{"p":"live/techno/4stems/_template.tidal","t":"_template","v":1,"a":"techno","s":"4stems","b":0,"w":0,"n":0},{"p":"live/techno/4stems/detroit_outer_space.tidal","t":"detroit_outer_space","v":0,"a":"techno","s":"4stems","b":10,"w":8,"n":0},{"p":"live/techno/4stems/la_vibe.tidal","t":"la_vibe","v":0,"a":"techno","s":"4stems","b":5,"w":4,"n":0},{"p":"live/techno/80s.tidal","t":"80s","v":0,"a":"techno","s":"","b":6,"w":4,"n":0},{"p":"live/techno/accel.tidal","t":"accel","v":0,"a":"techno","s":"","b":11,"w":8,"n":0},{"p":"live/techno/acid_80s.tidal","t":"acid_80s","v":0,"a":"techno","s":"","b":6,"w":1,"n":0},{"p":"live/techno/bailar.tidal","t":"bailar","v":0,"a":"techno","s":"","b":6,"w":3,"n":0},{"p":"live/techno/balais.tidal","t":"balais","v":0,"a":"techno","s":"","b":8,"w":4,"n":0},{"p":"live/techno/blade-piano.tidal","t":"blade-piano","v":0,"a":"techno","s":"","b":4,"w":3,"n":0},{"p":"live/techno/blue_impro.tidal","t":"blue_impro","v":0,"a":"techno","s":"","b":4,"w":2,"n":0},{"p":"live/techno/break_me.tidal","t":"break_me","v":0,"a":"techno","s":"","b":8,"w":6,"n":0},{"p":"live/techno/breakbeat.tidal","t":"breakbeat","v":0,"a":"techno","s":"","b":4,"w":1,"n":0},{"p":"live/techno/bureau.tidal","t":"bureau","v":0,"a":"techno","s":"","b":7,"w":5,"n":0},{"p":"live/techno/ciel_etoile.tidal","t":"ciel_etoile","v":0,"a":"techno","s":"","b":7,"w":5,"n":0},{"p":"live/techno/code_voila.tidal","t":"code_voila","v":0,"a":"techno","s":"","b":6,"w":2,"n":0},{"p":"live/techno/delic_jazz.tidal","t":"delic_jazz","v":0,"a":"techno","s":"","b":7,"w":6,"n":0},{"p":"live/techno/do_it_right.tidal","t":"do_it_right","v":0,"a":"techno","s":"","b":10,"w":9,"n":0},{"p":"live/techno/exutoire.tidal","t":"exutoire","v":0,"a":"techno","s":"","b":6,"w":4,"n":0},{"p":"live/techno/faya.tidal","t":"faya","v":0,"a":"techno","s":"","b":5,"w":4,"n":0},{"p":"live/techno/feeling_electric.tidal","t":"feeling_electric","v":2,"a":"techno","s":"","b":8,"w":5,"n":0},{"p":"live/techno/fine.tidal","t":"fine","v":0,"a":"techno","s":"","b":6,"w":3,"n":0},{"p":"live/techno/friday_tired.tidal","t":"friday_tired","v":0,"a":"techno","s":"","b":7,"w":4,"n":0},{"p":"live/techno/funk/FFF/Noise.tidal","t":"Noise","v":2,"a":"techno","s":"funk","b":6,"w":2,"n":0},{"p":"live/techno/funk/FFF/funk_n_bass.tidal","t":"funk_n_bass","v":0,"a":"techno","s":"funk","b":10,"w":5,"n":0},{"p":"live/techno/funk/FFF/grace.tidal","t":"grace","v":0,"a":"techno","s":"funk","b":8,"w":6,"n":0},{"p":"live/techno/funk/FFF/mad_fonk.tidal","t":"mad_fonk","v":0,"a":"techno","s":"funk","b":9,"w":7,"n":0},{"p":"live/techno/funk/FFF/pray.tidal","t":"pray","v":0,"a":"techno","s":"funk","b":7,"w":3,"n":0},{"p":"live/techno/funk/ant.tidal","t":"ant","v":0,"a":"techno","s":"funk","b":14,"w":9,"n":0},{"p":"live/techno/funk/bbass.tidal","t":"bbass","v":0,"a":"techno","s":"funk","b":9,"w":7,"n":0},{"p":"live/techno/funk/bogfunk.tidal","t":"bogfunk","v":0,"a":"techno","s":"funk","b":8,"w":7,"n":0},{"p":"live/techno/funk/electric.tidal","t":"electric","v":0,"a":"techno","s":"funk","b":10,"w":7,"n":0},{"p":"live/techno/funk/layered_breaks.tidal","t":"layered_breaks","v":0,"a":"techno","s":"funk","b":10,"w":7,"n":0},{"p":"live/techno/funk/minimal.tidal","t":"minimal","v":1,"a":"techno","s":"funk","b":11,"w":7,"n":0},{"p":"live/techno/funk/nass_night.tidal","t":"nass_night","v":2,"a":"techno","s":"funk","b":9,"w":6,"n":0},{"p":"live/techno/funk/naufrage.tidal","t":"naufrage","v":0,"a":"techno","s":"funk","b":10,"w":6,"n":0},{"p":"live/techno/funk/pure.tidal","t":"pure","v":0,"a":"techno","s":"funk","b":12,"w":8,"n":0},{"p":"live/techno/funk/work.tidal","t":"work","v":0,"a":"techno","s":"funk","b":5,"w":4,"n":0},{"p":"live/techno/german_wings.tidal","t":"german_wings","v":0,"a":"techno","s":"","b":10,"w":5,"n":0},{"p":"live/techno/jump.tidal","t":"jump","v":0,"a":"techno","s":"","b":5,"w":3,"n":0},{"p":"live/techno/kart.tidal","t":"kart","v":2,"a":"techno","s":"","b":6,"w":4,"n":0},{"p":"live/techno/kumai_nights.tidal","t":"kumai_nights","v":0,"a":"techno","s":"","b":5,"w":2,"n":0},{"p":"live/techno/laser_roll.tidal","t":"laser_roll","v":0,"a":"techno","s":"","b":5,"w":4,"n":0},{"p":"live/techno/late_train.tidal","t":"late_train","v":0,"a":"techno","s":"","b":6,"w":4,"n":0},{"p":"live/techno/major_nostalgia.tidal","t":"major_nostalgia","v":0,"a":"techno","s":"","b":4,"w":3,"n":0},{"p":"live/techno/more_like_us.tidal","t":"more_like_us","v":0,"a":"techno","s":"","b":13,"w":11,"n":0},{"p":"live/techno/multibass.tidal","t":"multibass","v":0,"a":"techno","s":"","b":4,"w":3,"n":0},{"p":"live/techno/nightly_repair.tidal","t":"nightly_repair","v":2,"a":"techno","s":"","b":8,"w":6,"n":0},{"p":"live/techno/noir/barriere_bleue.tidal","t":"barriere_bleue","v":0,"a":"techno","s":"noir","b":8,"w":6,"n":0},{"p":"live/techno/noir/burn_this_book.tidal","t":"burn_this_book","v":0,"a":"techno","s":"noir","b":8,"w":6,"n":0},{"p":"live/techno/noir/lavabo_noir.tidal","t":"lavabo_noir","v":0,"a":"techno","s":"noir","b":7,"w":6,"n":0},{"p":"live/techno/persistent_moog.tidal","t":"persistent_moog","v":0,"a":"techno","s":"","b":4,"w":3,"n":0},{"p":"live/techno/phazer.tidal","t":"phazer","v":0,"a":"techno","s":"","b":7,"w":3,"n":0},{"p":"live/techno/piano_forte.tidal","t":"piano_forte","v":0,"a":"techno","s":"","b":4,"w":3,"n":0},{"p":"live/techno/piano_intro.tidal","t":"piano_intro","v":1,"a":"techno","s":"","b":3,"w":1,"n":0},{"p":"live/techno/progressive_tuesday.tidal","t":"progressive_tuesday","v":2,"a":"techno","s":"","b":5,"w":4,"n":0},{"p":"live/techno/remember.tidal","t":"remember","v":0,"a":"techno","s":"","b":9,"w":5,"n":0},{"p":"live/techno/samedi_interdit.tidal","t":"samedi_interdit","v":0,"a":"techno","s":"","b":10,"w":8,"n":0},{"p":"live/techno/saturday4.tidal","t":"saturday4","v":0,"a":"techno","s":"","b":6,"w":5,"n":0},{"p":"live/techno/soleil_neige.tidal","t":"soleil_neige","v":0,"a":"techno","s":"","b":3,"w":2,"n":0},{"p":"live/techno/vague_de_crime.tidal","t":"vague_de_crime","v":0,"a":"techno","s":"","b":10,"w":9,"n":0},{"p":"live/techno/vertige_experienciel.tidal","t":"vertige_experienciel","v":0,"a":"techno","s":"","b":5,"w":4,"n":0},{"p":"live/techno/violent_violin.tidal","t":"violent_violin","v":0,"a":"techno","s":"","b":5,"w":4,"n":0},{"p":"live/techno/virus.tidal","t":"virus","v":2,"a":"techno","s":"","b":6,"w":5,"n":0},{"p":"live/transe/barrels.tidal","t":"barrels","v":0,"a":"transe","s":"","b":4,"w":2,"n":0},{"p":"live/transe/cosmos.tidal","t":"cosmos","v":0,"a":"transe","s":"","b":12,"w":7,"n":0},{"p":"live/transe/doo.tidal","t":"doo","v":0,"a":"transe","s":"","b":6,"w":3,"n":0},{"p":"live/transe/soleil.tidal","t":"soleil","v":0,"a":"transe","s":"","b":0,"w":0,"n":0},{"p":"live/work/contre.tidal","t":"contre","v":0,"a":"work","s":"","b":4,"w":3,"n":0},{"p":"live/work/wake_the_funk.tidal","t":"wake_the_funk","v":0,"a":"work","s":"","b":8,"w":6,"n":0}]};
......@@ -24,25 +24,45 @@
@media(min-width:1000px){.cols{grid-template-columns:1fr 1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}
/* ── filters ── */
.filters{margin-bottom:12px}
input[type=search]{width:100%;min-height:42px;background:#fffdf7;color:var(--ink);
border:1px solid var(--line);border-radius:8px;font-family:var(--mono);
font-size:.95rem;padding:0 12px}
input[type=search]::placeholder{color:#a8977f}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chip{font-family:var(--mono);font-size:.74rem;color:var(--dim);background:#efe8d8;
border:1px solid var(--line);border-radius:99px;padding:3px 10px;cursor:pointer;
user-select:none}
.chip:hover{background:#e4d8c2}
.chip.on{background:#f0dcc9;border-color:var(--accent);color:var(--accent);font-weight:700}
.toggles{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:10px;
font-size:.8rem;color:var(--dim);font-family:var(--mono)}
.toggles label{display:flex;align-items:center;gap:6px;cursor:pointer}
.toggles input{width:16px;height:16px;accent-color:var(--accent)}
.stat{font-family:var(--mono);font-size:.78rem;color:var(--dim);margin-top:8px}
.scroll{max-height:70vh;overflow-y:auto;padding-right:4px}
.card{background:var(--panel2);border:1px solid var(--line);border-left:3px solid transparent;
border-radius:8px;padding:12px 14px;margin-bottom:10px;cursor:pointer;
min-height:56px;transition:border-color .12s,background .12s}
border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;
transition:border-color .12s,background .12s}
.card:hover{border-color:#c9b89c}
.card.on{border-left-color:var(--accent);background:#f5e7d6}
.card .top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.name{font-family:var(--mono);font-size:1rem;font-weight:600}
.genre{font-size:.72rem;color:var(--dim);border:1px solid var(--line);
border-radius:99px;padding:1px 8px}
.pill{font-size:.68rem;font-weight:700;letter-spacing:.08em;border-radius:99px;
padding:2px 9px;text-transform:uppercase}
.card .top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.name{font-family:var(--mono);font-size:.95rem;font-weight:600}
.genre{font-size:.7rem;color:var(--dim);border:1px solid var(--line);
border-radius:99px;padding:1px 8px;font-family:var(--mono)}
.pill{font-size:.66rem;font-weight:700;letter-spacing:.06em;border-radius:99px;
padding:2px 8px;text-transform:uppercase;font-family:var(--mono)}
.pill.ok{background:rgba(79,122,79,.16);color:var(--ok)}
.pill.warn{background:rgba(160,106,20,.16);color:var(--warn)}
.pill.played{background:rgba(181,83,58,.14);color:var(--accent)}
.note{color:#5a4a3c;font-size:.85rem;margin-top:6px}
.pill.cold{background:rgba(138,122,104,.14);color:#6f6152}
.note{color:#5a4a3c;font-size:.82rem;margin-top:5px}
.card.warnrow .note{color:#8a5a14}
.path{font-family:var(--mono);font-size:.74rem;color:var(--dim);margin-top:6px;
.path{font-family:var(--mono);font-size:.72rem;color:var(--dim);margin-top:5px;
word-break:break-all}
.added{float:right;font-size:.7rem;color:var(--accent);font-family:var(--mono)}
.added{margin-left:auto;font-size:.68rem;color:var(--accent);font-family:var(--mono)}
.row{display:flex;align-items:center;gap:8px;background:var(--panel2);
border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px}
......@@ -77,17 +97,33 @@
white-space:pre;margin:12px 0 0;min-height:2em}
.empty{color:var(--dim);font-family:var(--mono);font-size:.85rem;padding:8px 0}
.flash{font-family:var(--mono);font-size:.8rem;color:var(--ok);margin-left:4px}
.legend{font-family:var(--mono);font-size:.74rem;color:var(--dim);margin-top:12px;
padding-top:10px;border-top:1px solid var(--line);line-height:1.6}
</style>
</head>
<body>
<h1>SET BUILDER</h1>
<div class="sub">Thu 2026-09-24 &middot; target 120 min &middot; tap a track to add / remove</div>
<div class="sub" id="head">Thu 2026-09-24 &middot; target 120 min &middot; tap a track to add / remove</div>
<div class="cols">
<section class="panel">
<h2>Candidates <span id="libcount" class="mins-u"></span></h2>
<div id="lib"></div>
<h2>Catalog <span id="libcount" class="mins-u"></span></h2>
<div class="filters">
<input type="search" id="q" placeholder="filter — name, folder or path" autocomplete="off">
<div class="chips" id="chips"></div>
<div class="toggles">
<label><input type="checkbox" id="warnon"> include silent-orbit <span id="nwarn"></span></label>
<label><input type="checkbox" id="handson"> played on this rig only</label>
<label><input type="checkbox" id="warmon"> fully warm only</label>
</div>
<div class="stat" id="stat"></div>
</div>
<div class="scroll" id="lib"></div>
<div class="legend" id="legend"></div>
</section>
<section class="panel">
......@@ -109,50 +145,53 @@
</section>
</div>
<script src="setbuilder-data.js"></script>
<script>
"use strict";
var TARGET = 120;
var TRACKS = [
{id:"sept1", path:"live/collab/baba/sept1.tidal", status:"OK", genre:"",
note:"d1 d4 d5 d11 need the #55 boot seed"},
{id:"jeudrill", path:"live/collab/raph/jeudrill.tidal", status:"OK", genre:"",
note:"d3 d4 d7 need seed"},
{id:"piment_bresilien", path:"live/collab/raph/piment_bresilien.tidal", status:"OK", genre:"",
note:"d3 d4 d5 d7 d9 need seed"},
{id:"you_my_sunshine", path:"live/midi/nova/dnb/liquid/you_my_sunshine.tidal", status:"OK",
genre:"dnb/liquid", note:"d4 needs seed"},
{id:"techno_orage", path:"live/midi/nova/techno/techno_orage.tidal", status:"WARN",
genre:"techno", note:"d2 (line 158) emits NOTHING even with seed — real silence, fix or cut"},
{id:"siberie_samuel", path:"live/collab/siberie_samuel.tidal", status:"OK", genre:"",
note:"cleanest: every orbit emits with no seed"},
{id:"cyber_hump", path:"live/midi/nova/techno/cyber_hump.tidal", status:"OK", genre:"techno",
note:"was dead (vi typo), FIXED 2026-09-22; bank 'humps' NOT in preload — lazy-loads"},
{id:"cafe_glace", path:"live/midi/nova/nujazz/cafe_glace.tidal", status:"OK", genre:"nujazz",
note:"d4 d5 need seed"},
{id:"ete_a_mauerpark", path:"live/midi/nova/techno/ete_a_mauerpark.tidal", status:"OK",
genre:"techno", note:"d1-d5 d7-d9 need seed; bank 'bass2' NOT in preload — lazy-loads"},
/* Play-history tracks: what PLN's hands actually reached for in the last 5 days
(lcxl3-driver journal). Validated 2026-09-22 with tools/silent-eval.py, cold
and with the #55 boot seed; all 28 sample banks resolve on disk and all 28 are
already inside the 124-bank preload plan. */
{id:"rose_rouge", path:"live/midi/nova/nujazz/rose_rouge.tidal", status:"OK",
genre:"nujazz", played:true,
note:"played 2x in the last 5 days; d4 d10 d11 d12 need the #55 seed"},
{id:"sunny_side_up", path:"live/midi/nova/lounge/sunny_side_up.tidal", status:"OK",
genre:"lounge", played:true, note:"d4 d7 need seed"},
{id:"quand_on_decolle", path:"live/midi/nova/ambient/quand_on_decolle.tidal", status:"OK",
genre:"ambient", played:true, note:"d4 d5 need seed"},
{id:"something_about_drums", path:"live/midi/nova/dnb/something_about_drums.tidal",
status:"OK", genre:"dnb", played:true, note:"d4 d5 need seed"},
{id:"bombe_dj", path:"live/midi/nova/techno/bombe_dj.tidal", status:"OK",
genre:"techno", played:true, note:"d3 d4 d5 d9 need seed"}
];
var CAP = 160; /* cards rendered at once — the filter is the navigation */
var CAT = (window.PV_CATALOG || {tracks:[], counts:{}, generated:"?"});
/* Hand-written orbit notes from the validation passes. Keyed by PATH, because
stems collide across folders (major_nostalgia, back_baby, the four FFF
tracks…) and a stem key silently merges two different tracks into one. */
var NOTES = {
"live/collab/baba/sept1.tidal": "d1 d4 d5 d11 need the #55 boot seed",
"live/collab/raph/jeudrill.tidal": "d3 d4 d7 need seed",
"live/collab/raph/piment_bresilien.tidal": "d3 d4 d5 d7 d9 need seed",
"live/midi/nova/dnb/liquid/you_my_sunshine.tidal": "d4 needs seed",
"live/midi/nova/techno/techno_orage.tidal":
"d2 (line 158) emits NOTHING even with seed — real silence, fix or cut",
"live/collab/siberie_samuel.tidal": "cleanest: every orbit emits with no seed",
"live/midi/nova/techno/cyber_hump.tidal":
"was dead (vi typo), fixed 2026-09-22; bank 'humps' lazy-loads",
"live/midi/nova/nujazz/cafe_glace.tidal": "d4 d5 need seed",
"live/midi/nova/techno/ete_a_mauerpark.tidal": "d1-d5 d7-d9 need seed",
"live/midi/nova/nujazz/rose_rouge.tidal": "d4 d10 d11 d12 need the #55 seed",
"live/midi/nova/lounge/sunny_side_up.tidal": "d4 d7 need seed",
"live/midi/nova/ambient/quand_on_decolle.tidal": "d4 d5 need seed",
"live/midi/nova/dnb/something_about_drums.tidal": "d4 d5 need seed",
"live/midi/nova/techno/bombe_dj.tidal": "d3 d4 d5 d9 need seed"
};
/* Catalog rows, path-keyed. v: 0 playable, 1 silent-orbit, 2 compile-fail. */
var TRACKS = CAT.tracks.filter(function(t){ return t.v !== 2; });
var BY_ID = {};
TRACKS.forEach(function(t){ BY_ID[t.id] = t; });
TRACKS.forEach(function(t){ BY_ID[t.p] = t; });
/* stem -> path, only for stems that are unambiguous. Used once, to carry a set
picked before the page was path-keyed. */
var BY_STEM = (function(){
var seen = {}, out = {};
TRACKS.forEach(function(t){
seen[t.t] = (seen[t.t] || 0) + 1;
out[t.t] = t.p;
});
Object.keys(seen).forEach(function(k){ if(seen[k] > 1) delete out[k]; });
return out;
})();
var KEY = "pv.setbuilder.thu24";
var set = load();
......@@ -163,8 +202,12 @@ function load(){
if(!raw) return [];
var v = JSON.parse(raw);
if(!Array.isArray(v)) return [];
return v.filter(function(e){ return e && BY_ID[e.id]; })
.map(function(e){ return {id:e.id, mins: clampMins(e.mins)}; });
return v.map(function(e){
if(!e || !e.id) return null;
/* pre-path ids were bare stems */
var id = BY_ID[e.id] ? e.id : BY_STEM[e.id];
return id ? {id:id, mins:clampMins(e.mins)} : null;
}).filter(Boolean);
} catch(e){ return []; }
}
function save(){
......@@ -186,31 +229,73 @@ function el(tag, cls, text){
return n;
}
/* ── filter state ──────────────────────────────────────────────────────── */
var filt = {q:"", area:"", warn:false, hands:false, warm:false};
function matches(t){
if(t.v === 1 && !filt.warn) return false;
if(filt.area && t.a !== filt.area) return false;
if(filt.hands && !t.n) return false;
if(filt.warm && !(t.b > 0 && t.w === t.b)) return false;
if(filt.q && t.p.toLowerCase().indexOf(filt.q) < 0) return false;
return true;
}
function renderChips(){
var box = document.getElementById("chips");
box.textContent = "";
/* Counts follow the silent-orbit toggle, so a chip never promises more
tracks than the list below it will show. */
var pool = TRACKS.filter(function(t){ return t.v === 0 || filt.warn; });
var counts = {};
pool.forEach(function(t){ counts[t.a] = (counts[t.a] || 0) + 1; });
var areas = Object.keys(counts).sort(function(a,b){ return counts[b] - counts[a]; });
function chip(label, area){
var c = el("span", "chip" + (filt.area === area ? " on" : ""), label);
c.addEventListener("click", function(){
filt.area = (filt.area === area ? "" : area);
renderChips(); renderLib();
});
box.appendChild(c);
}
chip("all " + pool.length, "");
areas.forEach(function(a){ chip(a + " " + counts[a], a); });
}
/* ── library ───────────────────────────────────────────────────────────── */
function renderLib(){
var box = document.getElementById("lib");
box.textContent = "";
TRACKS.forEach(function(t){
var i = indexOf(t.id);
var card = el("div", "card" + (i >= 0 ? " on" : "") +
(t.status === "WARN" ? " warnrow" : ""));
var hits = TRACKS.filter(matches);
var shown = hits.slice(0, CAP);
shown.forEach(function(t){
var i = indexOf(t.p);
var warn = (t.v === 1);
var card = el("div", "card" + (i >= 0 ? " on" : "") + (warn ? " warnrow" : ""));
card.setAttribute("role", "button");
card.tabIndex = 0;
var top = el("div", "top");
top.appendChild(el("span", "name", t.id));
if(t.genre) top.appendChild(el("span", "genre", t.genre));
top.appendChild(el("span", "pill " + (t.status === "WARN" ? "warn" : "ok"), t.status));
if(t.played) top.appendChild(el("span", "pill played", "played recently"));
top.appendChild(el("span", "name", t.t));
top.appendChild(el("span", "genre", t.a + (t.s ? "/" + t.s : "")));
top.appendChild(el("span", "pill " + (warn ? "warn" : "ok"),
warn ? "silent orbit" : "plays"));
if(t.n) top.appendChild(el("span", "pill played", "played ×" + t.n));
if(t.b > 0 && t.w < t.b){
top.appendChild(el("span", "pill cold", (t.b - t.w) + " cold of " + t.b));
}
if(i >= 0) top.appendChild(el("span", "added", "in set #" + (i+1) + " — tap to remove"));
card.appendChild(top);
card.appendChild(el("div", "note", t.note));
card.appendChild(el("div", "path", t.path));
if(NOTES[t.p]) card.appendChild(el("div", "note", NOTES[t.p]));
card.appendChild(el("div", "path", t.p));
function toggle(){
var j = indexOf(t.id);
var j = indexOf(t.p);
if(j >= 0) set.splice(j, 1);
else set.push({id:t.id, mins:12});
else set.push({id:t.p, mins:12});
commit();
}
card.addEventListener("click", toggle);
......@@ -219,7 +304,17 @@ function renderLib(){
});
box.appendChild(card);
});
document.getElementById("libcount").textContent = set.length + "/" + TRACKS.length + " picked";
if(!hits.length){
box.appendChild(el("div", "empty", "nothing matches — clear the filter"));
}
var stat = hits.length + " match" + (hits.length === 1 ? "" : "es");
if(hits.length > shown.length){
stat += " · showing the first " + shown.length + ", narrow the filter to see the rest";
}
document.getElementById("stat").textContent = stat;
document.getElementById("libcount").textContent = set.length + " picked";
}
/* ── the set ───────────────────────────────────────────────────────────── */
......@@ -227,17 +322,18 @@ function renderSet(){
var box = document.getElementById("set");
box.textContent = "";
if(!set.length){
box.appendChild(el("div", "empty", "nothing picked yet — tap a candidate"));
box.appendChild(el("div", "empty", "nothing picked yet — tap a track"));
}
set.forEach(function(e, i){
var t = BY_ID[e.id];
var row = el("div", "row" + (t.status === "WARN" ? " warnrow" : ""));
var warn = (t.v === 1);
var row = el("div", "row" + (warn ? " warnrow" : ""));
row.appendChild(el("span", "idx", (i+1) + "."));
row.appendChild(el("span", "rname", t.id + (t.status === "WARN" ? " ⚠" : "")));
row.appendChild(el("span", "rname", t.t + (warn ? " ⚠" : "")));
var inp = document.createElement("input");
inp.type = "number"; inp.min = "0"; inp.step = "1"; inp.value = e.mins;
inp.setAttribute("aria-label", "minutes for " + t.id);
inp.setAttribute("aria-label", "minutes for " + t.t);
inp.addEventListener("change", function(){
e.mins = clampMins(inp.value); inp.value = e.mins; commit();
});
......@@ -290,11 +386,10 @@ function renderTotal(){
/* ── output text ───────────────────────────────────────────────────────── */
function setText(){
return set.map(function(e){ return BY_ID[e.id].path; }).join("\n");
return set.map(function(e){ return e.id; }).join("\n");
}
function renderOut(){
var txt = setText();
document.getElementById("out").textContent = txt || "(empty)";
document.getElementById("out").textContent = setText() || "(empty)";
}
function flash(msg, bad){
......@@ -340,6 +435,48 @@ document.getElementById("clear").addEventListener("click", function(){
commit();
});
/* ── wiring ────────────────────────────────────────────────────────────── */
document.getElementById("q").addEventListener("input", function(){
filt.q = this.value.trim().toLowerCase();
renderLib();
});
document.getElementById("warnon").addEventListener("change", function(){
/* the area chips carry counts, so they have to follow this toggle too */
filt.warn = this.checked; renderChips(); renderLib();
});
document.getElementById("handson").addEventListener("change", function(){
filt.hands = this.checked; renderLib();
});
document.getElementById("warmon").addEventListener("change", function(){
filt.warm = this.checked; renderLib();
});
(function header(){
var c = CAT.counts || {};
document.getElementById("nwarn").textContent = "(" + (c.SILENT_ORBIT || 0) + ")";
document.getElementById("head").textContent =
"Thu 2026-09-24 · target 120 min · " + (c.PLAYABLE || 0) + " of " +
((c.PLAYABLE || 0) + (c.SILENT_ORBIT || 0) + (c.COMPILE_FAIL || 0)) +
" tracks compile and emit · tap to add / remove";
document.getElementById("legend").innerHTML = "";
[
"plays — compiles and every declared orbit emits with the #55 boot seed. " +
"Pattern-level: it does not prove the sound is audible.",
"silent orbit — builds, but an orbit emits nothing even seeded. A real fault: " +
(c.SILENT_ORBIT || 0) + " of them, hidden until you tick the box.",
"played ×N — times the lcxl3 driver logged loading it. Journal retention is " +
"short, so this is the recent window (" + (CAT.journal_window_tracks || 0) +
" tracks), not all time.",
"N cold of M — sample banks the preload plan does not warm. Not a fault: they " +
"lazy-load on first hit.",
(c.COMPILE_FAIL || 0) + " tracks that do not compile are not listed at all.",
"measured " + (CAT.generated || "?") + " from " + (CAT.source || "?")
].forEach(function(line){
document.getElementById("legend").appendChild(el("div", "", "· " + line));
});
})();
renderChips();
commit();
</script>
</body>
......
# THU 24 — 2026-09-24, the set in performance order.
# THU 24 — 2026-09-24, the candidate set in performance order (NOT locked).
#
# Hand-authored 2026-09-22 from PLN's Set Builder export (2h, 10 tracks,
# 120/120 min). NOT generated: there is no "## THU 24" section in backlog.md,
......
PLAYABLE live/amazonbeat.tidal
PLAYABLE live/ambient/before.tidal
PLAYABLE live/ambient/batavia_la_tortue.tidal
PLAYABLE live/ambient/brise_les_chaines.tidal
PLAYABLE live/ambient/cascade.tidal
PLAYABLE live/ambient/citarpurh.tidal
PLAYABLE live/ambient/crutches.tidal
PLAYABLE live/ambient/eroll_roll.tidal
COMPILE_FAIL live/ambient/new_machine.tidal
PLAYABLE live/ambient/radio_paradis.tidal
PLAYABLE live/ambient/inquiry.tidal
PLAYABLE live/ambient/fm_radio.tidal
PLAYABLE live/ambient/scintillance_bleue.tidal
COMPILE_FAIL live/ambient/weird.tidal
COMPILE_FAIL live/anar.tidal
PLAYABLE live/autotune.tidal
PLAYABLE live/ambient/tokyo_chase.tidal
PLAYABLE live/ambient/wild_coffee.tidal
PLAYABLE live/bodgan2.tidal
PLAYABLE live/bdmania.tidal
COMPILE_FAIL live/boeuf/algorythm/fdlm2022/intro_parvagues.tidal
PLAYABLE live/boeuf/algo25.tidal
PLAYABLE live/boeuf/algorythm/fdlm2022/jolene.tidal
PLAYABLE live/boeuf/algorythm/fdlm2022/lady.tidal
PLAYABLE live/boeuf/algorythm/fdlm2022/sweet_dreams.tidal
COMPILE_FAIL live/boeuf/algorythm/first_jam.tidal
PLAYABLE live/boeuf/algorythm/fdlm2022/what_you_wont_do_for_love.tidal
PLAYABLE live/boeuf/algorythm/fdlm2022/toxic.tidal
PLAYABLE live/boeuf/algorythm/fix_you.tidal
PLAYABLE live/boeuf/algorythm/fly_me_to_the_moon.tidal
PLAYABLE live/boeuf/algorythm/lonely_day.tidal
PLAYABLE live/boeuf/algorythm/love23/killing_me_softer.tidal
PLAYABLE live/boeuf/algorythm/love23/shallow.tidal
PLAYABLE live/boeuf/algorythm/love23/cant_help_falling_in_love.tidal
SILENT_ORBIT live/boeuf/algorythm/love23/killing_me_softly.tidal
PLAYABLE live/boeuf/algorythm/love23/something_about_us.tidal
PLAYABLE live/boeuf/algorythm/love23/until_i_found_you.tidal
COMPILE_FAIL live/boeuf/algorythm/season2/blues_wednesday.tidal
PLAYABLE live/boeuf/algorythm/love23/u_remind_me.tidal
PLAYABLE live/boeuf/algorythm/season2/come_together.tidal
PLAYABLE live/boeuf/algorythm/something_bossa_nova.tidal
PLAYABLE live/boeuf/biarritz/20sept.tidal
PLAYABLE live/boeuf/bass_boeuf.tidal
PLAYABLE live/boeuf/biarritz/21nuit.tidal
SILENT_ORBIT live/boeuf/august.tidal
PLAYABLE live/boeuf/biarritz/blues_debranche.tidal
PLAYABLE live/boeuf/biarritz/blue_tuesday.tidal
PLAYABLE live/boeuf/biarritz/cloud.tidal
COMPILE_FAIL live/boeuf/canicule.tidal
COMPILE_FAIL live/boeuf/canard_breake.tidal
PLAYABLE live/boeuf/_clock.tidal
COMPILE_FAIL live/boeuf/dimanche_pizza.tidal
COMPILE_FAIL live/boeuf/fevrier.tidal
PLAYABLE live/boeuf/biarritz/morning_glory.tidal
PLAYABLE live/boeuf/lunar_light.tidal
PLAYABLE live/boeuf/may_cafe.tidal
PLAYABLE live/boeuf/nouvelle_poussiere.tidal
PLAYABLE live/boeuf/samedi_canard.tidal
PLAYABLE live/boeuf/samedi_chill.tidal
COMPILE_FAIL live/boeuf/samedi_confine_extra.tidal
PLAYABLE live/boeuf/premier_tour.tidal
PLAYABLE live/boeuf/valtho/dorian.tidal
PLAYABLE live/boeuf/stupefaction.tidal
PLAYABLE live/boeuf/valtho/cats.tidal
PLAYABLE live/bogbog.tidal
PLAYABLE live/boeuf/vendredi_saint.tidal
PLAYABLE live/boeuf/viteuf/blues.tidal
COMPILE_FAIL live/bogdan.tidal
PLAYABLE live/chill/atm/batteur.tidal
PLAYABLE live/briquets2.tidal
COMPILE_FAIL live/briquets.tidal
COMPILE_FAIL live/chill/atm/break_blue.tidal
PLAYABLE live/chill/atm/board.tidal
PLAYABLE live/chill/atm/nightly.tidal
PLAYABLE live/chill/bad_bad_guy.tidal
PLAYABLE live/chill/atm/workroll.tidal
SILENT_ORBIT live/chill/atm/hors_amsterdam.tidal
PLAYABLE live/chill/blue_mind.tidal
PLAYABLE live/chill/break/responsabilite.tidal
PLAYABLE live/chill/break_toys.tidal
PLAYABLE live/chill/birds.tidal
PLAYABLE live/chill/break/break_the_sunday.tidal
PLAYABLE live/chill/cloudy_afternoon.tidal
COMPILE_FAIL live/chill/dim_blue.tidal
PLAYABLE live/chill/dimanche_mineur.tidal
PLAYABLE live/chill/dub/80s.tidal
PLAYABLE live/chill/dub/mini_deconf.tidal
PLAYABLE live/chill/dub/dam.tidal
PLAYABLE live/chill/dub/rebond.tidal
PLAYABLE live/chill/dub/restez_chez_vous.tidal
PLAYABLE live/chill/dub/sunday.tidal
COMPILE_FAIL live/chill/epilog.tidal
PLAYABLE live/chill/dub/riddim_du_dim.tidal
COMPILE_FAIL live/chill/dub.tidal
PLAYABLE live/chill/major_nostalgia.tidal
PLAYABLE live/chill/neige.tidal
PLAYABLE live/chill/powder_asmr.tidal
PLAYABLE live/chill/mondam.tidal
PLAYABLE live/chill/ritusen.tidal
PLAYABLE live/chill.tidal
PLAYABLE live/chill/tete.tidal
PLAYABLE live/chill/timeless.tidal
PLAYABLE live/china.tidal
COMPILE_FAIL live/chip/game_on.tidal
PLAYABLE live/chip/ataright.tidal
PLAYABLE live/chip/cours_toujours.tidal
COMPILE_FAIL live/chip/nano_rain.tidal
PLAYABLE live/collab/baba/_inspi.tidal
PLAYABLE live/chip/step_silence.tidal
PLAYABLE live/clinique.tidal
PLAYABLE live/collab/baba/la_matrice.tidal
PLAYABLE live/collab/baba/larmes_salees.tidal
PLAYABLE live/collab/baba/moulins_de_mon_coeur.tidal
SILENT_ORBIT live/collab/baba/oparoles.tidal
PLAYABLE live/collab/baba/xp2.tidal
PLAYABLE live/collab/baba/xp1.tidal
PLAYABLE live/collab/baba/sept1.tidal
PLAYABLE live/collab/baba/xp3.tidal
PLAYABLE live/collab/benoit/tous_ensemble.tidal
PLAYABLE live/collab/bobylito/exquis1.tidal
PLAYABLE live/collab/bobylito/l_espace.tidal
PLAYABLE live/collab/cam/i_come_from_cyberspace.tidal
SILENT_ORBIT live/collab/bobylito/new_jam_nu_jazz.tidal
PLAYABLE live/collab/cam/guitar_first.tidal
PLAYABLE live/collab/ccc/ghosts_in_the_toilets.tidal
PLAYABLE live/collab/ccc/ccc0.tidal
PLAYABLE live/collab/clem/shiloh_tech.tidal
PLAYABLE live/collab/cookie/ccc.tidal
PLAYABLE live/collab/cookie/from_scratch_prep2.tidal
PLAYABLE live/collab/cookie/from_scratch_prep.tidal
COMPILE_FAIL live/collab/cookie/maudite_soit_la_guerre.tidal
PLAYABLE live/collab/cookie/from_scratch.tidal
PLAYABLE live/collab/cricri/citar1.tidal
PLAYABLE live/collab/daniel/auxiliaire.tidal
COMPILE_FAIL live/collab/igor/hello_studio.tidal
PLAYABLE live/collab/ituin/bass_night.tidal
PLAYABLE live/collab/ituin/wobble_research.tidal
PLAYABLE live/collab/etienne/concombre.tidal
PLAYABLE live/collab/hugo/faith_in_bass.tidal
PLAYABLE live/collab/jane/drifting_soul.tidal
PLAYABLE live/collab/jane/tired_soul.tidal
PLAYABLE live/collab/josh/oct_18_rainy_day.tidal
PLAYABLE live/collab/kevin/synchro.tidal
COMPILE_FAIL live/collab/louis/d_accord.tidal
PLAYABLE live/collab/louis/anarchie.tidal
PLAYABLE live/collab/l'ine*fable/premiere_fable.tidal
PLAYABLE live/collab/micka/bazurto_closed.tidal
PLAYABLE live/collab/mousquetaires/blue_burn.tidal
PLAYABLE live/collab/nass/bass_first.tidal
COMPILE_FAIL live/collab/mousquetaires/blue_gold.tidal
PLAYABLE live/collab/nass/love_first.tidal
PLAYABLE live/collab/nass/mains_libres.tidal
PLAYABLE live/collab/nass/sogood.tidal
PLAYABLE live/collab/nvzt/liquid_finale.tidal
PLAYABLE live/collab/quentin/pain_with_love.tidal
PLAYABLE live/collab/raph/8bit_delicat.tidal
PLAYABLE live/collab/raph/8_blues.tidal
PLAYABLE live/collab/raph/acab.tidal
PLAYABLE live/collab/raph/acidule.tidal
PLAYABLE live/collab/raph/ambiance.tidal
PLAYABLE live/collab/raph/bad_witch.tidal
PLAYABLE live/collab/raph/biscuit_acide.tidal
PLAYABLE live/collab/raph/chevalerie.tidal
PLAYABLE live/collab/raph/coffee_pot.tidal
PLAYABLE live/collab/raph/dernier_dimanche.tidal
PLAYABLE live/collab/raph/dernier_doute.tidal
PLAYABLE live/collab/raph/des_efforts.tidal
PLAYABLE live/collab/raph/drums_architect.tidal
PLAYABLE live/collab/raph/diable.tidal
PLAYABLE live/collab/raph/desire.tidal
PLAYABLE live/collab/raph/dub_a_trois.tidal
PLAYABLE live/collab/raph/esperluette.tidal
PLAYABLE live/collab/raph/el_diablo.tidal
PLAYABLE live/collab/raph/explo_rha_teur.tidal
PLAYABLE live/collab/raph/han.tidal
PLAYABLE live/collab/raph/hard_monday.tidal
PLAYABLE live/collab/raph/hardorage.tidal
PLAYABLE live/collab/raph/hello_tek.tidal
PLAYABLE live/collab/raph/jeudrill.tidal
PLAYABLE live/collab/raph/le_blues_du_mic.tidal
PLAYABLE live/collab/raph/long_way.tidal
PLAYABLE live/collab/raph/mafia_sans_serif.tidal
PLAYABLE live/collab/raph/meshuggah.tidal
SILENT_ORBIT live/collab/raph/nouveau_punk.tidal
PLAYABLE live/collab/raph/network_zero_un.tidal
COMPILE_FAIL live/collab/raph/partir.tidal
PLAYABLE live/collab/raph/oldskool_radius.tidal
PLAYABLE live/collab/raph/permanence.tidal
PLAYABLE live/collab/raph/piment_bresilien.tidal
PLAYABLE live/collab/raph/playa_fun.tidal
PLAYABLE live/collab/raph/punkachien.tidal
PLAYABLE live/collab/raph/quatre_magiques.tidal
PLAYABLE live/collab/raph/ragga_la_hierarchie.tidal
PLAYABLE live/collab/raph/ratus.tidal
PLAYABLE live/collab/raph/rainbow_race.tidal
PLAYABLE live/collab/raph/sale_piano.tidal
PLAYABLE live/collab/raph/sautillant.tidal
PLAYABLE live/collab/raph/septieme_armee.tidal
PLAYABLE live/collab/raph/saria.tidal
PLAYABLE live/collab/raph/vacances_solaires.tidal
PLAYABLE live/collab/rhadamanthe.tidal
PLAYABLE live/collab/rhadamanthe/layering.tidal
PLAYABLE live/collab/ryan/day0.tidal
PLAYABLE live/collab/raph/wet_hard_pussy.tidal
PLAYABLE live/collab/siberie_samuel.tidal
PLAYABLE live/collab/stevie/aime_la_jungle.tidal
PLAYABLE live/collab/val/2026_jam.tidal
PLAYABLE live/collab/Sexes/julien.tidal
PLAYABLE live/collab/val/ambient_dust.tidal
COMPILE_FAIL live/collab/val/euclidian_machine.tidal
PLAYABLE live/collab/val/edgy.tidal
PLAYABLE live/collab/val/samedi_acid.tidal
PLAYABLE live/collab/val/template.tidal
PLAYABLE live/collab/val/soir_noir.tidal
PLAYABLE live/collab/youssef/eole.tidal
PLAYABLE live/collab/val/un_an.tidal
PLAYABLE live/contrevent.tidal
PLAYABLE live/digestion_roll.tidal
PLAYABLE live/disco/high.tidal
PLAYABLE live/dnb/bluesify.tidal
SILENT_ORBIT live/dnb/automne_electrique.tidal
PLAYABLE live/dnb/etienne.tidal
PLAYABLE live/dnb/chemise.tidal
PLAYABLE live/dnb/meth.tidal
PLAYABLE live/dnb/montee_descente.tidal
PLAYABLE live/dnb/giorgio_s_drums.tidal
PLAYABLE live/dnb/moulin.tidal
PLAYABLE live/dnb/dansant.tidal
PLAYABLE live/dnb/nass.tidal
PLAYABLE live/dnb/neuro.tidal
PLAYABLE live/dnb/nass_revient.tidal
PLAYABLE live/dnb/nass_arrive.tidal
SILENT_ORBIT live/dnb/sans_courant.tidal
PLAYABLE live/dnb/soleil_pourpre.tidal
PLAYABLE live/dnb/slow_step_abstract.tidal
PLAYABLE live/dnb/new_synth_wave.tidal
PLAYABLE live/dnb.tidal
COMPILE_FAIL live/dnb/video_live.tidal
PLAYABLE live/dnb/vendredi_dnb.tidal
PLAYABLE live/drone/hello_drones.tidal
PLAYABLE live/drone/ordre.tidal
PLAYABLE live/dub/amis_roots.tidal
PLAYABLE live/dub/racine_clave.tidal
PLAYABLE live/dub/fdlm2021.tidal
PLAYABLE live/dub/hello_dub.tidal
PLAYABLE live/dub/steps.tidal
PLAYABLE live/dub/tubby_study.tidal
PLAYABLE live/dub/renfort_solaire.tidal
PLAYABLE live/etienne.tidal
COMPILE_FAIL live/FOSDEM/after.tidal
PLAYABLE live/exp/bogdanniv.tidal
PLAYABLE live/exp/hot_stuff.tidal
PLAYABLE live/FOSDEM/before.tidal
COMPILE_FAIL live/FOSDEM/sunday.tidal
PLAYABLE live/FOSDEM/techno_du_soir.tidal
COMPILE_FAIL live/FOSDEM/train_du_soir.tidal
PLAYABLE live/FOSDEM/train.tidal
PLAYABLE live/friday2.tidal
COMPILE_FAIL live/friday_feb.tidal
PLAYABLE live/francesca.tidal
PLAYABLE live/friday.tidal
PLAYABLE live/fusion/acide_guitar.tidal
PLAYABLE live/funky_veranda.tidal
PLAYABLE live/fusion/acid_jazz.tidal
PLAYABLE live/fusion/b2p.tidal
COMPILE_FAIL live/fusion/anthropocene.tidal
PLAYABLE live/fusion/batterie.tidal
PLAYABLE live/fusion/bottled_baby.tidal
PLAYABLE live/fusion/bogdanerie.tidal
COMPILE_FAIL live/fusion/blue_party.tidal
PLAYABLE live/fusion/camille.tidal
PLAYABLE live/fusion/castle.tidal
PLAYABLE live/fusion/comete/808_et_etoiles.tidal
PLAYABLE live/fusion/comete/my_other_car_is_a_storm.tidal
PLAYABLE live/fusion/comete/marche_vertige.tidal
PLAYABLE live/fusion/crapeau_russe.tidal
PLAYABLE live/fusion/confine.tidal
PLAYABLE live/fusion/dessin.tidal
PLAYABLE live/fusion/cuba_space_program.tidal
PLAYABLE live/fusion/doux.tidal
PLAYABLE live/fusion/drunk_beat.tidal
PLAYABLE live/fusion/du_code.tidal
PLAYABLE live/fusion/dimitri.tidal
PLAYABLE live/fusion/faites_de_la_musique.tidal
PLAYABLE live/fusion/hipofunk.tidal
PLAYABLE live/fusion/josephine.tidal
PLAYABLE live/fusion/dub_night.tidal
PLAYABLE live/fusion/latin/like_what.tidal
PLAYABLE live/fusion/kaalamite.tidal
SILENT_ORBIT live/fusion/lucy_sky.tidal
PLAYABLE live/fusion/minuit.tidal
PLAYABLE live/fusion/mad_piano.tidal
PLAYABLE live/fusion/moog_hat.tidal
PLAYABLE live/fusion/orleans_les_bains.tidal
PLAYABLE live/fusion/morning/flowers.tidal
PLAYABLE live/fusion/morning/latin_core.tidal
COMPILE_FAIL live/fusion/ploink.tidal
PLAYABLE live/fusion/you_may.tidal
PLAYABLE live/hardcore/dure_liberte.tidal
PLAYABLE live/fusion/sel_marin.tidal
PLAYABLE live/hardcore/etat.tidal
COMPILE_FAIL live/hardcore/jambon.tidal
COMPILE_FAIL live/hardcore/anar.tidal
PLAYABLE live/hardcore/noise_in_the_wires.tidal
PLAYABLE live/hardcore/priere.tidal
PLAYABLE live/hardcore/printanier.tidal
SILENT_ORBIT live/hardcore/manoir_rhadamanthe.tidal
PLAYABLE live/hardcore/scribe.tidal
PLAYABLE live/hip/bb/cest_le_code.tidal
PLAYABLE live/hardcore/soleil.tidal
COMPILE_FAIL live/hip/bocal.tidal
PLAYABLE live/hip/beats.tidal
COMPILE_FAIL live/hip/bb/minibeat.tidal
PLAYABLE live/hip/boombap/plage.tidal
PLAYABLE live/hip/boombap/princesse_de_mars.tidal
PLAYABLE live/hip/chaude_civ.tidal
PLAYABLE live/hip/comme_un_lundi.tidal
PLAYABLE live/hip/darkside/russia.tidal
PLAYABLE live/hip/darkside/clameur.tidal
SILENT_ORBIT live/hip/darkside/sub_marine.tidal
PLAYABLE live/hip/entre_en_scene.tidal
PLAYABLE live/hiphop.tidal
PLAYABLE live/hip/instru/courant_alternatif.tidal
PLAYABLE live/hip/instru/break_britannique.tidal
PLAYABLE live/hip/instru/cooldown.tidal
PLAYABLE live/hip/instru/guitar_roll.tidal
COMPILE_FAIL live/hip/instru/envahisseur_celtique.tidal
PLAYABLE live/hip/instru/crapeau_hippo.tidal
PLAYABLE live/hip/instru/jazz_noise.tidal
PLAYABLE live/hip/instru/jardin_dhiver.tidal
PLAYABLE live/hip/instru/minibreak.tidal
PLAYABLE live/hip/instru/nuit_au_quartier_latin.tidal
PLAYABLE live/hip/instru/nu.tidal
PLAYABLE live/hip/instru/training.tidal
PLAYABLE live/hip/jerem.tidal
PLAYABLE live/hip/instru/pixels_roses.tidal
PLAYABLE live/hip/instru/remede.tidal
PLAYABLE live/hip/lofi/back_baby.tidal
PLAYABLE live/hip/lofi/808_lessons.tidal
COMPILE_FAIL live/hip/lofi/du_miel.tidal
PLAYABLE live/hip/lofi/brouillard.tidal
PLAYABLE live/hip/lofi/poke_bone.tidal
PLAYABLE live/hip/lofi/sete_et_match.tidal
PLAYABLE live/hip/lofi/hellofi.tidal
PLAYABLE live/hip/lofi/soleil_enthousiaste.tidal
PLAYABLE live/hip/mask.tidal
PLAYABLE live/hip/lofi/toujours_plus.tidal
PLAYABLE live/hip/lofi/slow_mo.tidal
PLAYABLE live/hip/pensif.tidal
PLAYABLE live/hip/piano_fight.tidal
PLAYABLE live/hip/roll.tidal
PLAYABLE live/hip/organ_seeker.tidal
PLAYABLE live/hip/solitude_hivernale.tidal
PLAYABLE live/hip/sunny2.tidal
PLAYABLE live/hip/sunny.tidal
PLAYABLE live/hip/trapped_in_space.tidal
COMPILE_FAIL live/jam/cbow.tidal
COMPILE_FAIL live/hip/volette.tidal
PLAYABLE live/home.tidal
PLAYABLE live/jam/chalet.tidal
PLAYABLE live/jam/cosmic26.tidal
PLAYABLE live/late/good_morning_minneapolis.tidal
PLAYABLE live/late/romain.tidal
PLAYABLE live/jam/val23.tidal
PLAYABLE live/lib/prelude.tidal
PLAYABLE live/late/temps.tidal
PLAYABLE live/late/funky_evening.tidal
PLAYABLE live/medievalcore.tidal
COMPILE_FAIL live/midi/beats.tidal
PLAYABLE live/midi/ams_companion.tidal
PLAYABLE live/midi/break_metal.tidal
PLAYABLE live/midi/bruit_hiver.tidal
PLAYABLE live/midi/dubmini.tidal
COMPILE_FAIL live/midi/dub.tidal
PLAYABLE live/midi/dusty_marcia.tidal
PLAYABLE live/midi/dusty_cypres.tidal
COMPILE_FAIL live/midi/hello_world.tidal
PLAYABLE live/midi/jazz_tech_piano.tidal
PLAYABLE live/midi/frerot.tidal
COMPILE_FAIL live/midi/looper/god_money.tidal
PLAYABLE live/midi/jazz.tidal
PLAYABLE live/midi/nova/120_techoirs.tidal
PLAYABLE live/midi/nova/80fonk.tidal
PLAYABLE live/midi/nova/acid/gimme_acid.tidal
PLAYABLE live/midi/nova/acid/la_dub_sour.tidal
COMPILE_FAIL live/midi/nova/ambient/ambient_chaos.tidal
PLAYABLE live/midi/nova/acid/la_porte_de_leternite.tidal
PLAYABLE live/midi/nova/ambient/drone_aveugle.tidal
PLAYABLE live/midi/nova/ambient/contre_visite.tidal
PLAYABLE live/midi/nova/ambient/empreinte_du_numerique.tidal
PLAYABLE live/midi/nova/ambient/froid_de_minuit.tidal
PLAYABLE live/midi/ambient_space.tidal
SILENT_ORBIT live/midi/nova/ambient/mono_over.tidal
PLAYABLE live/midi/nova/ambient/prestance.tidal
PLAYABLE live/midi/nova/ambient/quand_on_decolle.tidal
PLAYABLE live/midi/nova/ambient/raise.tidal
PLAYABLE live/midi/nova/ambient/snow_white.tidal
PLAYABLE live/midi/nova/beatober/oct_15_midoct.tidal
COMPILE_FAIL live/midi/nova/beatober/oct_5.tidal
PLAYABLE live/midi/nova/beatober/oct_16_haunted_house_insouciance.tidal
PLAYABLE live/midi/nova/beatober/oct_29_can_i_code_it.tidal
PLAYABLE live/midi/nova/boombap/boom_jane.tidal
PLAYABLE live/midi/nova/beatober/oct_glitchs_sauvages.tidal
PLAYABLE live/midi/nova/boombap/al_salar.tidal
PLAYABLE live/midi/nova/boombap/chemise_a_carreaux.tidal
PLAYABLE live/midi/nova/boombap/creme.tidal
PLAYABLE live/midi/nova/boombap/el_mundo.tidal
PLAYABLE live/midi/nova/boombap/module_amour.tidal
PLAYABLE live/midi/nova/boombap/latin_au_chocolat.tidal
PLAYABLE live/midi/nova/boombap/module_latin.tidal
PLAYABLE live/midi/nova/boombap/saloon.tidal
PLAYABLE live/midi/nova/boombap/rien_a_craindre.tidal
PLAYABLE live/midi/nova/boombap/sept20.tidal
PLAYABLE live/midi/nova/boombap/trop_plein.tidal
COMPILE_FAIL live/midi/nova/breaks/break_90s.tidal
PLAYABLE live/midi/nova/breaks/acid_rain.tidal
PLAYABLE live/midi/nova/breaks/bain_electrique.tidal
COMPILE_FAIL live/midi/nova/breaks/break_at_home.tidal
PLAYABLE live/midi/nova/breaks/break_dynasty.tidal
PLAYABLE live/midi/nova/breaks/break_the_night.tidal
PLAYABLE live/midi/nova/breaks/break_low.tidal
PLAYABLE live/midi/nova/breaks/break_the_rentree.tidal
PLAYABLE live/midi/nova/breaks/code_secret.tidal
PLAYABLE live/midi/nova/breaks/break_the_storm.tidal
COMPILE_FAIL live/midi/nova/breaks/its_about_time.tidal
PLAYABLE live/midi/nova/breaks/hello_fred.tidal
PLAYABLE live/midi/nova/breaks/green_land.tidal
PLAYABLE live/midi/nova/breaks/jesus_loves_disco.tidal
PLAYABLE live/midi/nova/breaks/la_canopee.tidal
PLAYABLE live/midi/nova/breaks/lady_perplexity.tidal
PLAYABLE live/midi/nova/breaks/lourd.tidal
PLAYABLE live/midi/nova/breaks/midnight_breaking.tidal
PLAYABLE live/midi/nova/breaks/madeleine_de_paris.tidal
PLAYABLE live/midi/nova/breaks/lunar.tidal
COMPILE_FAIL live/midi/nova/breaks/nova_bossa.tidal
PLAYABLE live/midi/nova/breaks/monday_fairy.tidal
SILENT_ORBIT live/midi/nova/breaks/nuit_agitee.tidal
PLAYABLE live/midi/nova/breaks/rose_eternelle.tidal
COMPILE_FAIL live/midi/nova/breaks/solar.tidal
PLAYABLE live/midi/nova/breaks/rub_a_drum.tidal
PLAYABLE live/midi/nova/breaks/slower.tidal
PLAYABLE live/midi/nova/breaks/spanish_thingy.tidal
PLAYABLE live/midi/nova/breaks/StolenChoir.tidal
PLAYABLE live/midi/nova/breaks/the_secret.tidal
PLAYABLE live/midi/nova/breaks.tidal
COMPILE_FAIL live/midi/nova/computer_riddub.tidal
PLAYABLE live/midi/nova/breaks/ton_numero.tidal
PLAYABLE live/midi/nova/disco/buena_sera_milano.tidal
PLAYABLE live/midi/nova/disco/friends_in_blue.tidal
COMPILE_FAIL live/midi/nova/dnb/BreakBass.tidal
PLAYABLE live/midi/nova/dnb/alerte_verte.tidal
PLAYABLE live/midi/nova/dnb/break_the_loop.tidal
PLAYABLE live/midi/nova/dnb/bruler_franchement.tidal
PLAYABLE live/midi/nova/dnb/anniv.tidal
PLAYABLE live/midi/nova/dnb/drums_I_presume.tidal
PLAYABLE live/midi/nova/dnb/force_motrice.tidal
PLAYABLE live/midi/nova/dnb/golden_drum.tidal
PLAYABLE live/midi/nova/dnb/jet_de_resistance.tidal
PLAYABLE live/midi/nova/dnb/la_bonne_pression.tidal
PLAYABLE live/midi/nova/dnb/la_foule.tidal
PLAYABLE live/midi/nova/dnb/lucy_rode.tidal
PLAYABLE live/midi/nova/dnb/lime_tacos.tidal
PLAYABLE live/midi/nova/dnb/liquid/you_my_sunshine.tidal
PLAYABLE live/midi/nova/dnb/noname.tidal
PLAYABLE live/midi/nova/dnb/MethBass.tidal
PLAYABLE live/midi/nova/dnb/nouveau_soleil.tidal
PLAYABLE live/midi/nova/dnb/perceneige.tidal
PLAYABLE live/midi/nova/dnb/plosive.tidal
PLAYABLE live/midi/nova/dnb/prepabass.tidal
PLAYABLE live/midi/nova/dnb/something_about_drums.tidal
PLAYABLE live/midi/nova/dnb/venons_ensemble.tidal
PLAYABLE live/midi/nova/dnb/wap.tidal
PLAYABLE live/midi/nova/dub/big_morning.tidal
PLAYABLE live/midi/nova/dub/simon_arrive.tidal
PLAYABLE live/midi/nova/dub/computer_riddim.tidal
COMPILE_FAIL live/midi/nova/dubstep/break_my_new_synths.tidal
PLAYABLE live/midi/nova/dub/skunky.tidal
COMPILE_FAIL live/midi/nova/DX_tech.tidal
COMPILE_FAIL live/midi/nova/feu.tidal
PLAYABLE live/midi/nova/FFF/mad_fonk.tidal
COMPILE_FAIL live/midi/nova/FFF/Noise.tidal
PLAYABLE live/midi/nova/dub.tidal
PLAYABLE live/midi/nova/FM/fm.tidal
PLAYABLE live/midi/nova/FFF/grace.tidal
PLAYABLE live/midi/nova/FM/paul_machine.tidal
COMPILE_FAIL live/midi/nova/FFF/pray.tidal
PLAYABLE live/midi/nova/fm.tidal
PLAYABLE live/midi/nova/FM/heure_a_perdre.tidal
PLAYABLE live/midi/nova/FM/superFM.tidal
PLAYABLE live/midi/nova/fusion/all_the_way.tidal
PLAYABLE live/midi/nova/fusion/coworking.tidal
PLAYABLE live/midi/nova/fusion/crystal_d_ete.tidal
PLAYABLE live/midi/nova/fusion/deck_the_dancehall.tidal
PLAYABLE live/midi/nova/fusion/funk_trap.tidal
PLAYABLE live/midi/nova/fusion/elephunk.tidal
COMPILE_FAIL live/midi/nova/fusion/etapes.tidal
PLAYABLE live/midi/nova/fusion/qui_sait.tidal
PLAYABLE live/midi/nova/fusion/shape_of_foo.tidal
COMPILE_FAIL live/midi/nova/grunge/le_bruit_des_bots.tidal
PLAYABLE live/midi/nova/giant.tidal
PLAYABLE live/midi/nova/grime/bogdan_arrive.tidal
COMPILE_FAIL live/midi/nova/instruments/8box.tidal
COMPILE_FAIL live/midi/nova/instruments/AtomicRhodes.tidal
PLAYABLE live/midi/nova/harder_crime.tidal
PLAYABLE live/midi/nova/jazz/giant_technique.tidal
PLAYABLE live/midi/nova/jamuary/2504_ce_quon_ignore.tidal
SILENT_ORBIT live/midi/nova/instruments/scratchomatic.tidal
PLAYABLE live/midi/nova/jazz/the_revolution_will_be_sampled.tidal
PLAYABLE live/midi/nova/lofi/back_baby.tidal
PLAYABLE live/midi/nova/jungle/chemin_de_traverse.tidal
PLAYABLE live/midi/nova/lofi/dark_money.tidal
PLAYABLE live/midi/nova/lofi/hello_shiloh.tidal
PLAYABLE live/midi/nova/lofi/fictional_yehuda.tidal
SILENT_ORBIT live/midi/nova/lofi/lendemain_divin.tidal
PLAYABLE live/midi/nova/lofi/low_and_numb.tidal
PLAYABLE live/midi/nova/lofi/new_dust.tidal
PLAYABLE live/midi/nova/lofi/premiere_grillade.tidal
PLAYABLE live/midi/nova/lofi/pour_une_hypothese.tidal
PLAYABLE live/midi/nova/lofi/premier_mai.tidal
PLAYABLE live/midi/nova/lofi/reboot.tidal
PLAYABLE live/midi/nova/lofi/savoir_voyager.tidal
PLAYABLE live/midi/nova/lofi/soleil_de_sete.tidal
PLAYABLE live/midi/nova/lofi/zombie_bed.tidal
PLAYABLE live/midi/nova/lofi/sunny_march.tidal
PLAYABLE live/midi/nova/lounge/acidoo.tidal
COMPILE_FAIL live/midi/nova/lounge/cbow.tidal
PLAYABLE live/midi/nova/lounge/blade_dreamer.tidal
PLAYABLE live/midi/nova/lounge/fabuleux.tidal
PLAYABLE live/midi/nova/lounge/hello_loo.tidal
COMPILE_FAIL live/midi/nova/lounge/invoque_ete.tidal
PLAYABLE live/midi/nova/lounge/hoover_sepia.tidal
PLAYABLE live/midi/nova/lounge/la_nuit_je_funk.tidal
PLAYABLE live/midi/nova/lounge/liquid_nite.tidal
PLAYABLE live/midi/nova/lounge/mojo_hats.tidal
PLAYABLE live/midi/nova/lounge/night_sun.tidal
PLAYABLE live/midi/nova/lounge/michael.tidal
PLAYABLE live/midi/nova/lounge/soleil_du_soir.tidal
PLAYABLE live/midi/nova/lounge/ouais_je_funk.tidal
PLAYABLE live/midi/nova/lounge/sunny_side_up.tidal
PLAYABLE live/midi/nova/lounge/suns_of_gold.tidal
PLAYABLE live/midi/nova/lounge/take_5_drops.tidal
PLAYABLE live/midi/nova/lounge/top_hats.tidal
PLAYABLE live/midi/nova/nujazz/cafe_bouillant.tidal
PLAYABLE live/midi/nova/nujazz/cafe_glace.tidal
PLAYABLE live/midi/nova/minneapolis.tidal
PLAYABLE live/midi/nova/nujazz/cafe_tiede.tidal
PLAYABLE live/midi/nova/nujazz/chere_mireille.tidal
PLAYABLE live/midi/nova/nujazz/dimanche_numb.tidal
PLAYABLE live/midi/nova/nujazz/infusion_basse.tidal
PLAYABLE live/midi/nova/nujazz/menthe_givree.tidal
PLAYABLE live/midi/nova/nujazz/nouvelle_couleur.tidal
SILENT_ORBIT live/midi/nova/nujazz/nu_dans_la_boue.tidal
COMPILE_FAIL live/midi/nova/once_upon_a_loop.tidal
PLAYABLE live/midi/nova/nujazz/rose_rouge.tidal
PLAYABLE live/midi/nova/nujazz/salut_nu.tidal
PLAYABLE live/midi/nova/party/80s_neon.tidal
COMPILE_FAIL live/midi/nova/party/electro_blues.tidal
COMPILE_FAIL live/midi/nova/party_hard.tidal
PLAYABLE live/midi/nova/party/blues_machine.tidal
SILENT_ORBIT live/midi/nova/party/dark_angel_frappe.tidal
COMPILE_FAIL live/midi/nova/party/phunk.tidal
PLAYABLE live/midi/nova/party/maudits_insectes.tidal
PLAYABLE live/midi/nova/party/last_one.tidal
PLAYABLE live/midi/nova/party/sidekick.tidal
PLAYABLE live/midi/nova/punk/hello_poesie.tidal
PLAYABLE live/midi/nova/party/technomidi.tidal
PLAYABLE live/midi/nova/punk/killing.tidal
PLAYABLE live/midi/nova/punk/punk_teng.tidal
PLAYABLE live/midi/nova/superFM.tidal
PLAYABLE live/midi/nova/remix/perfect.tidal
PLAYABLE live/midi/nova/techno/around_the_bass.tidal
PLAYABLE live/midi/nova/techno/belle_pluie.tidal
PLAYABLE live/midi/nova/techno/bombe_dj.tidal
PLAYABLE live/midi/nova/techno/ca_fait_rien.tidal
PLAYABLE live/midi/nova/techno/cyber_hump.tidal
PLAYABLE live/midi/nova/techno/coconut_coffee.tidal
PLAYABLE live/midi/nova/techno/electric_hammer.tidal
PLAYABLE live/midi/nova/techno/ere_de_jeu.tidal
PLAYABLE live/midi/nova/techno/industry/no_panic.tidal
PLAYABLE live/midi/nova/techno/ete_a_mauerpark.tidal
PLAYABLE live/midi/nova/techno/law_and_order.tidal
PLAYABLE live/midi/nova/techno/love_of_techno.tidal
PLAYABLE live/midi/nova/techno/livecode_parade.tidal
PLAYABLE live/midi/nova/techno/prelude.tidal
PLAYABLE live/midi/nova/techno/panda_rouge.tidal
PLAYABLE live/midi/nova/techno/techno_oligarchie.tidal
PLAYABLE live/midi/nova/techno/techno_pretre.tidal
PLAYABLE live/midi/nova/techno/the_good_bass.tidal
SILENT_ORBIT live/midi/nova/techno/techno_orage.tidal
PLAYABLE live/midi/nova/techno/tour_du_ciel.tidal
PLAYABLE live/midi/nova/techno/trn/no_time_to_die.tidal
PLAYABLE live/midi/nova/wave/horizons.tidal
PLAYABLE live/midi/nova/tidal_crime.tidal
COMPILE_FAIL live/midi/nova/zelda.tidal
PLAYABLE live/midi/nova/waves.tidal
PLAYABLE live/mood/energy/waiting.tidal
PLAYABLE live/midi/toyota.tidal
PLAYABLE live/midi/zelda/mashup.tidal
PLAYABLE live/mood/fight/grimpe.tidal
PLAYABLE live/mood/fight/sage.tidal
COMPILE_FAIL live/mood/sad/bass_vibes.tidal
PLAYABLE live/mood/fight/clav_clash.tidal
PLAYABLE live/mood/sad/infiltrations.tidal
PLAYABLE live/mood/soothing/tea_time.tidal
PLAYABLE live/mood/soothing/breathe.tidal
PLAYABLE live/mood/soothing/tone_down.tidal
PLAYABLE live/mood/tired/afternoon.tidal
PLAYABLE live/noise/decentering.tidal
PLAYABLE live/noise/vie_hivernale.tidal
PLAYABLE live/nuit.tidal
PLAYABLE live/offbeat.tidal
PLAYABLE live/pair/be_my_punk.tidal
PLAYABLE live/pair/technopunk.tidal
PLAYABLE live/psc/bbq.tidal
COMPILE_FAIL live/pianotrap.tidal
COMPILE_FAIL live/quantum.tidal
COMPILE_FAIL live/remix/kanye_fly.tidal
PLAYABLE live/remix/day_trippin.tidal
PLAYABLE live/remix/stup.tidal
PLAYABLE live/scratch.tidal
PLAYABLE live/seb.tidal
COMPILE_FAIL live/snake.tidal
PLAYABLE live/techno/4stems/detroit_outer_space.tidal
PLAYABLE live/techno/4stems/la_vibe.tidal
SILENT_ORBIT live/techno/4stems/_template.tidal
PLAYABLE live/techno/80s.tidal
PLAYABLE live/techno/abstract.tidal
PLAYABLE live/techno/acid_80s.tidal
PLAYABLE live/techno/accel.tidal
PLAYABLE live/techno/bailar.tidal
PLAYABLE live/techno/balais.tidal
PLAYABLE live/techno/blue_impro.tidal
PLAYABLE live/techno/blade-piano.tidal
PLAYABLE live/techno/breakbeat.tidal
PLAYABLE live/techno/break_me.tidal
PLAYABLE live/techno/bureau.tidal
PLAYABLE live/techno/ciel_etoile.tidal
PLAYABLE live/noise/omondi_no_more.tidal
COMPILE_FAIL live/techno/cocon.tidal
COMPILE_FAIL live/techno/dambell.tidal
PLAYABLE live/techno/delic_jazz.tidal
PLAYABLE live/techno/do_it_right.tidal
PLAYABLE live/techno/exutoire.tidal
PLAYABLE live/techno/faya.tidal
PLAYABLE live/techno/experience_vertige.tidal
COMPILE_FAIL live/techno/feeling_electric.tidal
PLAYABLE live/techno/code_voila.tidal
PLAYABLE live/techno/friday_tired.tidal
PLAYABLE live/techno/funk/ant.tidal
PLAYABLE live/techno/foret_noire.tidal
PLAYABLE live/techno/funk/bogfunk.tidal
PLAYABLE live/techno/fine.tidal
PLAYABLE live/techno/funk/bbass.tidal
PLAYABLE live/techno/funk/FFF/grace.tidal
PLAYABLE live/techno/funk/FFF/mad_fonk.tidal
PLAYABLE live/techno/funk/electric.tidal
PLAYABLE live/techno/funk/FFF/funk_n_bass.tidal
PLAYABLE live/techno/funk/FFF/pray.tidal
PLAYABLE live/techno/funk/layered_breaks.tidal
COMPILE_FAIL live/techno/funk/FFF/Noise.tidal
PLAYABLE live/techno/funk/naufrage.tidal
COMPILE_FAIL live/techno/funk/nass_night.tidal
PLAYABLE live/techno/funk/work.tidal
SILENT_ORBIT live/techno/funk/minimal.tidal
PLAYABLE live/techno/funk/pure.tidal
PLAYABLE live/techno/german_wings.tidal
COMPILE_FAIL live/techno/kart.tidal
PLAYABLE live/techno/jump.tidal
PLAYABLE live/techno/laser_roll.tidal
PLAYABLE live/techno/late_train.tidal
PLAYABLE live/techno/more_like_us.tidal
PLAYABLE live/techno/major_nostalgia.tidal
PLAYABLE live/techno/multibass.tidal
PLAYABLE live/techno/noir/barriere_bleue.tidal
COMPILE_FAIL live/techno/nightly_repair.tidal
PLAYABLE live/techno/noir/burn_this_book.tidal
PLAYABLE live/techno/persistent_moog.tidal
PLAYABLE live/techno/kumai_nights.tidal
PLAYABLE live/techno/piano_forte.tidal
PLAYABLE live/techno/noir/lavabo_noir.tidal
PLAYABLE live/techno/phazer.tidal
SILENT_ORBIT live/techno/piano_intro.tidal
COMPILE_FAIL live/techno/progressive_tuesday.tidal
PLAYABLE live/techno/remember.tidal
PLAYABLE live/techno/saturday4.tidal
PLAYABLE live/techno/samedi_interdit.tidal
PLAYABLE live/techno/raclette.tidal
PLAYABLE live/techno/vertige_experienciel.tidal
PLAYABLE live/techno/soleil_neige.tidal
PLAYABLE live/techno/vague_de_crime.tidal
PLAYABLE live/techno/violent_violin.tidal
PLAYABLE live/TODO/dildo_cycles.tidal
COMPILE_FAIL live/techno/virus.tidal
COMPILE_FAIL live/techno/vite.tidal
PLAYABLE live/transe/barrels.tidal
PLAYABLE live/transe/soleil.tidal
PLAYABLE live/transe/cosmos.tidal
PLAYABLE live/transe/doo.tidal
PLAYABLE live/trilles.tidal
PLAYABLE live/tutobeat.tidal
PLAYABLE live/val.tidal
PLAYABLE live/work/contre.tidal
PLAYABLE live/work/wake_the_funk.tidal
#!/usr/bin/env python3.12
"""Gen the Set Builder catalog: one row per track, with every signal that answers
"can I actually play this tonight?".
The picker used to carry fourteen hand-written entries. That was honest for the
night it was written — a shortlist from the driver journal — but it made the page
look like the catalog was fourteen tracks deep, when the sweep had already
measured all 703. This turns the measurement into the picker's data.
Signals, and what each one is worth:
verdict PLAYABLE / SILENT_ORBIT / COMPILE_FAIL, from tools/silent-eval.py
over every file under live/ (docs/2026-09-22-catalog-playability.tsv).
PLAYABLE means it compiles and every declared orbit emits events with
the #55 boot seed. It does NOT mean audible — see the doc's caveats.
banks how many sample folders the track names actually resolve to on disk.
An UNRESOLVED name is normal (a SynthDef, or structure overridden
downstream by `#`), so we count what resolves and never flag the rest.
warm how many of those banks the current preload plan already warms. A
cold bank is not a fault: it lazy-loads on first hit, which on stage
sounds like a hiccup on the first bar and is fine afterwards.
played how many times the driver journal saw this track loaded. Journal
retention is short, so this is "seen in the window", not all-time —
but it is the only record of what PLN's hands actually reach for.
Sample-name extraction is imported from tools/setlist_samples.py, never
re-implemented here: a `.tidal` file is a program, and `#` is `|>`, so a
hand-rolled regex is wrong in ways that fail silently.
Output is a same-origin data file the page loads, so the page stays hand-edited
UI and the data stays generated. Nothing here reaches the network.
python3.12 tools/gen_setbuilder_catalog.py
"""
import json
import re
import subprocess
import sys
from collections import Counter
from datetime import datetime, timezone
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent))
from setlist_samples import extract_names, build_index, bank_file_count # noqa: E402
REPO = Path(__file__).resolve().parent.parent
TSV = REPO / "docs/2026-09-22-catalog-playability.tsv"
PRELOAD = REPO / "preload.scd"
OUT = REPO / "armada/setbuilder-data.js"
# Two path segments deep for midi/nova, which is half the catalog on its own and
# would otherwise swamp every other area in the filter chips.
TWO_DEEP = {("midi", "nova")}
VERDICT_CODE = {"PLAYABLE": 0, "SILENT_ORBIT": 1, "COMPILE_FAIL": 2}
def area_of(rel):
"""`live/midi/nova/techno/x.tidal` -> ('midi/nova', 'techno')."""
parts = rel.split("/")[1:-1] # drop 'live' and the filename
if not parts:
return "root", ""
if len(parts) >= 2 and (parts[0], parts[1]) in TWO_DEEP:
return "/".join(parts[:2]), (parts[2] if len(parts) > 2 else "")
return parts[0], (parts[1] if len(parts) > 1 else "")
def preload_banks():
"""The bank names the current plan warms.
Same extraction as tools/check-preload.sh:121 so the two tools can never
disagree about what 'warm' means.
"""
if not PRELOAD.is_file():
print("! no preload.scd — every bank will read as cold", file=sys.stderr)
return set()
text = PRELOAD.read_text(errors="replace")
return set(re.findall(r"\[ \\([A-Za-z0-9_]+)", text))
def play_counts():
"""track -> times the lcxl3 driver logged loading it, over journal retention."""
try:
out = subprocess.run(
["journalctl", "--user", "-u", "lcxl3-driver", "-o", "cat"],
capture_output=True, text=True, timeout=60,
).stdout
except (OSError, subprocess.SubprocessError) as exc:
print(f"! journal unreadable ({exc}) — play counts omitted", file=sys.stderr)
return Counter()
names = re.findall(r"track -> (\S+)", out)
# Log lines read `track -> sept1:`; `test` is the scratchpad, not a track.
return Counter(n.rstrip(":") for n in names if n.rstrip(":") != "test")
def main():
if not TSV.is_file():
sys.exit(f"! missing {TSV.relative_to(REPO)} — run the playability sweep first")
index = build_index()
warm = preload_banks()
plays = play_counts()
rows, counted = [], Counter()
for line in TSV.read_text().splitlines():
if not line.strip():
continue
verdict, rel = line.split("\t", 1)
counted[verdict] += 1
src = REPO / rel
banks_warm = banks_total = 0
if src.is_file():
for name in extract_names(src.read_text(errors="replace")):
folder = index.get(name)
if folder is None or bank_file_count(folder) == 0:
continue # unresolved or empty: normal, not a fault
banks_total += 1
if name in warm:
banks_warm += 1
stem = Path(rel).stem
area, sub = area_of(rel)
rows.append({
"p": rel, # repo-relative path = the identity
"t": stem, # display title
"v": VERDICT_CODE[verdict],
"a": area,
"s": sub,
"b": banks_total,
"w": banks_warm,
"n": plays.get(stem, 0),
})
# Hands first, then warmth, then name — the order PLN would pick in.
rows.sort(key=lambda r: (-r["n"], -(r["w"] == r["b"] and r["b"] > 0), r["p"]))
payload = {
"generated": datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC"),
"source": str(TSV.relative_to(REPO)),
"counts": {k: counted[k] for k in ("PLAYABLE", "SILENT_ORBIT", "COMPILE_FAIL")},
"journal_window_tracks": len(plays),
"tracks": rows,
}
OUT.write_text(
"/* Generated by tools/gen_setbuilder_catalog.py — do not hand-edit. */\n"
"window.PV_CATALOG = " + json.dumps(payload, separators=(",", ":")) + ";\n"
)
print(f"wrote {OUT.relative_to(REPO)} — {len(rows)} tracks "
f"({counted['PLAYABLE']} playable, {counted['SILENT_ORBIT']} silent-orbit, "
f"{counted['COMPILE_FAIL']} compile-fail), "
f"{len(plays)} in the journal window")
if __name__ == "__main__":
main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment