// Demo set list (each item authored in the share language — also exercises the parser).
const SEED_SETLISTS = [
  { title: "🥁 Styles", description: "Grooves & feels — load one, press Space, and click pads to shape the accents.", items: [
    ["Four-on-the-floor", "t120;kick:4;snare:4=.x.x;hatClosed:4/2"],
    ["Swing ride", "t150;ride:4/2s;kick:4=X..x;snare:4=.x.x"],
    // Purdie half-time shuffle: triplet grid, backbeat on 3, snare ghosts (normal) around it
    ["Purdie half-time shuffle", "t92;kick:4/3=X....x...x..;snare:4/3=..gg.gX.gg.g;hatClosed:4/3=X.xX.xX.xX.x"],
    // Samba in 2/4 (16ths): surdo strong on beat 2, steady ganzá, tamborim teleco-teco
    ["Samba (2/4)", "t104;tomLow:2/4=x...X...;hatClosed:2/4;woodblock:2/4=X.xx.xX."],
    // Nañigo / 6/8 bembé bell over a 12/8 grid, low drum on the two main pulses
    ["Nañigo (6/8 bembé)", "t130;cowbell:4/3=X.xx.x.xx.x.;kick:4/3=X.....X.....;hatClosed:4/3=..x..x..x..x"],
    ["6/8 groove", "t100;kick:3+3=x..x..;snare:3+3=...x..;hatClosed:3+3/2"],
    ["7/8 (2+2+3)", "t130;kick:2+2+3=x..x..x;hatClosed:2+2+3/2"],
    ["5/4 (3+2)", "t112;kick:3+2=x..x.;snare:3+2=..x..;hatClosed:3+2/2"],
  ] },
  { title: "🎯 Practice", description: "Polyrhythms, independence and tempo / gap tools.", items: [
    ["5 over 4 polyrhythm", "t100;kick:4;claves:5~"],
    ["3 over 2 hemiola", "t96;woodblock:2;cowbell:3~"],
    ["2 & 4 & 3 over one bar", "t100;kick:3;cowbell:2~;claves:4~"],
    ["Triplet hats", "t100;kick:4;snare:4=.x.x;hatClosed:4/3"],
    ["Accents — cycle the pads", "t92;kick:4=X..X;snare:4=.X.X;hatClosed:4/2"],
    ["Tempo builder 80↑", "t80;woodblock:4;rmp80/4/4"],
    ["Gap trainer (play 2 / rest 2)", "t100;kick:4;hatClosed:4/2;tr2/2"],
  ] },
  // A continuous ~4:00 song: each item has a bar length (b<n>) so it auto-advances (with
  // Continue on) through tempo ramps and shifting styles. Durations ≈ bars × beats × 60/bpm.
  { title: "🎵 Song — continuous (~4:00)", description: "A full song: turn on Continue, press ▶ on “Intro”, and it plays straight through (~4 min) — segments auto-advance on their bar counts, through tempo ramps and shifting styles.", items: [
    ["Intro — hats & kick",       "t88;b8;kick:4=X.x.;hatClosed:4/2=gggggggg"],
    ["Groove in — backbeat",      "t88;b16;kick:4=X.x.;snare:4=.X.X;hatClosed:4/2"],
    ["Half-time shuffle",         "t92;b12;kick:4/3=X....x...x..;snare:4/3=..gg.gX.gg.g;hatClosed:4/3=X.xX.xX.xX.x"],
    ["Build — ramp 92→120",       "t92;b16;rmp92/4/2;kick:4;snare:4=.X.X;hatClosed:4/2"],
    ["Four-on-the-floor (909)",   "t124;b18;kick909:4;clap909:4=.X.X;hat909:4/2=.X.X.X.X"],
    ["Samba break (2/4)",         "t116;b24;tomLow:2/4=x...X...;hatClosed:2/4;woodblock:2/4=X.xx.xX."],
    ["Peak — 16ths",              "t132;b16;kick:4=X..x;snare:4=.X.X;hatClosed:4/4"],
    ["Outro — ramp down",         "t132;b8;rmp132/-7/1;kick:4=X..x;hatClosed:4/2=gggggggg"],
  ] },
  // Showcase for the PM_E-2 engraved notation view — one groove per notation feature; also the
  // visual test battery. Exercises the flam/drag/roll grammar (f/F d/D z/Z), ghosts, odd meters,
  // clave (Latin), a West-African bell (read it in TUBS), and a polyrhythm.
  { title: "📜 Notation showcase", description: "Open pm_e-2.html (the Notation editor) and step through these — each shows a different notation feature: dynamics, ghosts, flams/drags/rolls, odd-meter beaming, clave, a 12/8 bell, and a polyrhythm.", items: [
    ["Rock 4/4 — the basics",     "t120;kick:4=x.x.;snare:4=.x.x;hatClosed:4/2=xxxxxxxx"],
    ["Funk ghosts",               "t96;kick:4/2=X..x.x..;snare:4/2=..g.X.g.;hatClosed:4/4=xxxxxxxxxxxxxxxx"],
    ["Flams & rolls",             "t90;kick:4=x.x.;snare:4=F.fz;hatClosed:4/2=xxxxxxxx"],
    ["Drags (ruffs)",             "t100;kick:4=x..x;snare:4=d.D.;hatClosed:4/2=xxxxxxxx"],
    ["7/8 (2+2+3) beaming",       "t140;kick:2+2+3=x.x.x..;snare:2+2+3=..x..x.;hatClosed:2+2+3/2"],
    ["Son clave 2-3",             "t96;claves:4/4=..x.x...x..x..x.;cowbell:4/4=x.x.x.x.x.x.x.x.;kick:4=x.x."],
    ["Afro 12/8 bell (try TUBS)", "t120;cowbell:4/3=x.xx.x.x.x.x;kick:4/3=X.....X.....;hatClosed:4/3=..x..x..x..x"],
    ["3 over 2 polyrhythm",       "t90;kick:2;claves:3~"],
  ] },
];
