Commit Graph

6 Commits

Author SHA1 Message Date
Anachronaut
2d24006fd9 Add 101-patch library organized by instrument family
Bass (7): SlapBass, FretlessBass, SynthBass1, PickBass, SubBass, RubberBass, FunkBass
Brass (7): Trumpet, Trombone, FrenchHorn, MutedTrumpet, SynthBrass, BrassSection, Tuba
Classic (1): WobbleBass
Drums (8): Kick808, Snare, HiHatClosed, HiHatOpen, Tom, Clap, Rimshot, Cowbell
Leads (7): SawLead, SquareLead, CaliopeLead, WhistleLead, MoogLead, PluckLead, DistortedLead
Mallets (8): Marimba, Xylophone, Glockenspiel, TubularBells, MusicBox, Vibraphone, SteelDrum, Celesta
Pads (7): PolyPad, SweepPad, ChoirPad, CrystalPad, DarkPad, MetallicPad, StringPad
Plucked (7): AcousticGuitar, NylonGuitar, ElectricGuitar, Harp, Lute, Mandolin, PizzicatoStrings
World (8): Sitar, Shakuhachi, Koto, SteelGuitar, Kalimba, Shamisen, Dulcimer, Bagpipe

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 22:33:17 -04:00
Anachronaut
e40645f280 Fix patch browser keyboard navigation to cover directory rows
Arrow keys now navigate the full virtual row list (../, subdirs, patches)
rather than only patch rows. Landing on a patch auto-loads it as before;
landing on .. or a subdir highlights it and Enter confirms navigation.
Added patchVCursor to UIState to track keyboard focus independently of
the loaded patch. Mouse-click on a patch now also syncs the cursor so
subsequent arrow-key movement starts from the right position.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 22:32:46 -04:00
Anachronaut
ff59c7c66a Add README.md
Covers overview, features, build instructions (Linux + Windows
cross-compile), patch system, MIDI/CC Learn setup, and credits.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 19:36:40 -04:00
Anachronaut
75e0894ff8 v0.9.5 beta — full feature build ready for distribution
Core additions since initial commit:
- Platform-split MIDI (midi_linux.c / midi_windows.c)
- Patch system: save/load/scan, subdirectory navigation, favourites
- Config system: last MIDI device and CC mappings persisted to disk
- Custom embedded pixel font and sprite sheet (no loose asset files at runtime)
- Window icon embedded at runtime (SetWindowIcon) and in Windows .exe (windres)
- chdirToExeDir() in platform.c so double-click launch finds patches/ correctly
- About screen accessible from Master panel

UI polish:
- TITLE_BAR_H constant (20 px) — sprite buttons now fit inside title bars
- All title bar text, button overlay text, and close/active labels vertically centred
- Full-screen dim overlay computed from camera transform (no more partial coverage)
- Patch browser: folder navigation, breadcrumb title, 256-slot limit lifted

Build:
- Makefile auto-discovers sources; embeds sprites/font/icon via xxd rules
- Windows cross-compile: make PLATFORM=windows (mingw-w64 + windres)
- windows.h isolated in platform.c to avoid Rectangle/CloseWindow conflicts with raylib.h
- WIN_RES uses lazy = assignment so OBJ_DIR expands correctly for windres output path

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 19:18:34 -04:00
Anachronaut
801ea22d3e Mapped oscillator pulse width to modulation wheel. 2026-03-14 09:23:08 -04:00
Anachronaut
48ee8c2c75 Initial commit of project. 2026-03-13 15:09:17 -04:00