- buildClassicalNotes() had an unreachable return after the note-building
chain, so simplifyNotes() (the Full/Simple note-density toggle) was never
applied to any isClassical piece — fixed by assigning to a variable first.
- Jingle Bells' note durations used an eighth-note-heavy pattern that
compressed the tune to roughly half its correct length instead of the
familiar quarter/half-note "Jingle bells, jingle bells" cadence — replaced
with a standard, measure-verified rhythm.
- Drunken Sailor inserted a stray extra beat between each of its 3 passes
(t+=q, one full quarter note tied to the beat grid) which broke the 4/4
pulse; changed to an off-grid pause. Also extended its chord backing to
cover the chorus (mm9-16), which previously had none on repeat passes.
- Removed O Fortuna (Orff, 1936) and Sabre Dance (Khachaturian, 1942) from
Classical, and Rudolph the Red-Nosed Reindeer (1949), Frosty the Snowman
(1950), and Winter Wonderland (1934) from Christmas — none of these are
actually public domain (all still under active copyright), despite being
filed under a "public domain compositions" list.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PbwKCCj1vwAoqgRYDoqgeL
Moved 6 Prime songs (Twinkle Twinkle, Mary Had a Little Lamb, Happy
Birthday, Chopsticks, Lavender's Blue, Shortnin' Bread) into the
Nursery Rhymes genre using the rhyme() helper. Dropped Baa Baa Black
Sheep since it's the same melody as Twinkle Twinkle. Updated README
to reflect 18 genres, 124 synth pieces.
https://claude.ai/code/session_01FNZw4curZbJp38HFUaPXwR
- Add Prime genre section (6 beginner songs: Twinkle Twinkle, Mary Had a Little Lamb, Happy Birthday, Chopsticks, Lavender's Blue, Shortnin' Bread)
- Update genre count from 16 to 17
- Update synth piece count from 91 to 97
- Update line count from ~3000 to ~4500
https://claude.ai/code/session_01FNZw4curZbJp38HFUaPXwR
Full song list for all genres including new Spirituals (8),
World (8), expanded Singalong (20 with sea shanties + Bella Ciao).
Added Data Storage section explaining all localStorage keys.
Updated feature list with genre/song hiding, math-protected reset,
settings persistence. Total: 211 playable pieces.
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
UI improvements:
- Start button now sticky at bottom of viewport — always visible
without scrolling, with Remap Pads button alongside
- Pause/Resume: press Escape or pause button in HUD. Suspends
AudioContext to freeze all scheduled audio perfectly.
- Back to Menu button on pause overlay
Gamepad remap:
- Remap Pads button walks through each pad (Red, Yellow, Blue,
Green, Kick) and captures the button press from any USB drum kit
- Mapping saved to localStorage, survives page reload
- Default mapping still Wii Rock Band
Speed & Volume sliders:
- Speed: 50%-150%, affects BPM for drum patterns and note/bg
timing for classical pieces. Slow down for practice.
- Volume: 0%-150% master volume, affects both drums and synth
- Both on menu Settings card
Genre tab reorder:
- Synth genres now appear first: Singalong, Christmas, Folk,
Classical, Video Games, Chiptune Originals
- Drum pattern genres after: Rock, Metal, Jazz, etc.
- Default genre changed from Rock to Singalong
README: Complete song list for all 65 synth pieces + 120 drum
patterns, USB drum kit compatibility table, feature list.
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE