Commit Graph

  • 3f7257aa23 RT performance tuning: IRQ affinity, chrt, xrun tracking, reference doc main shawn 2026-06-20 15:58:54 -04:00
  • 04931fd738 fix: NAM engine stability and hum — post-NAM DC blocker + HPF, warm-before-kill subprocess swap, non-blocking pipe I/O, sample rate sync, arch detection shawn 2026-06-19 14:13:44 -04:00
  • acdff5eb9b feat: signal-based test suite with jack_rec capture — 9/9 passing shawn 2026-06-19 06:32:10 +00:00
  • 95bb62dc21 feat: comprehensive test plan (24 sections, ~200 tests) + automated API test runner (121 tests, all passing) shawn 2026-06-18 23:42:16 +00:00
  • c026bc72b7 fix: preserve block_id across save/load and API save_preset/save_snapshot endpoints shawn 2026-06-18 23:22:51 +00:00
  • 47bb535b08 fix: multiple bug fixes found during comprehensive test plan sweep shawn 2026-06-18 19:14:01 -04:00
  • d152ecd1fc docs: expand test plan with channel cycling, upload, tuner tests, system info, ethernet details shawn 2026-06-18 18:59:22 -04:00
  • 507a486a42 docs: expand audio section with dedicated sample rate, buffer, and combined tests shawn 2026-06-18 18:56:22 -04:00
  • 6f24a940ba docs: comprehensive manual test plan for mobile QA shawn 2026-06-18 18:37:04 -04:00
  • bb9c835f98 fix: _jack_is_operational() now creates throwaway JACK client instead of jack_lsp; standard profile period=512 shawn 2026-06-18 18:32:55 -04:00
  • 0cb044fb5e chore: periodic gc.collect() on HTTP thread after disabling GC for RT shawn 2026-06-18 18:28:18 -04:00
  • d7889c6f23 fix: _process_4cm handles 1D mono input gracefully shawn 2026-06-18 18:25:12 -04:00
  • 4039ee963d fix: restore missing import argparse shawn 2026-06-18 18:24:00 -04:00
  • 6495facb02 fix: disable Python garbage collector to prevent 1s periodic audio pops shawn 2026-06-18 18:23:01 -04:00
  • 017a74a414 fix: kill alsa_in in stop_jack; verify jackd matches config device shawn 2026-06-18 18:10:40 -04:00
  • f1c6f64dc8 fix: add 1.5s stabilization check in start_jack to catch flaky JACK startup shawn 2026-06-18 18:08:24 -04:00
  • 32990f9744 fix: _jack_is_operational() must check jack_lsp stdout, not exit code shawn 2026-06-18 18:04:06 -04:00
  • 9a8c59d19c fix: replace broken jack_default_0_0 socket check with jack_lsp for JACK 1.9.22 compatibility shawn 2026-06-18 17:59:30 -04:00
  • 4b694cc5f8 fix: replace DC-blocking HPF with 60Hz biquad notch filter (hum fix) shawn 2026-06-18 17:54:23 -04:00
  • 4ad50e3588 fix: narrow SHM cleanup in profile handler to client semaphore only; add DC-blocking HPF to pipeline input (60Hz hum fix) shawn 2026-06-18 17:46:41 -04:00
  • 92c6bb9587 fix: stop bt-a2dp-jack during profile changes to prevent JACK race shawn 2026-06-18 17:29:52 -04:00
  • 61886858f6 fix: rollback must restore AudioConfig period/rate + LATENCY_PROFILES shawn 2026-06-18 17:26:52 -04:00
  • f3cdf5e13b fix: multiple issues preventing NAM from surviving rate/period changes shawn 2026-06-18 17:21:04 -04:00
  • c0c2538c80 fix: verify JACK is operational before returning from start_jack() shawn 2026-06-18 17:17:33 -04:00
  • ce82207d03 fix: clean stale JACK SHM before client creation in profile handler shawn 2026-06-18 17:14:35 -04:00
  • de5723f138 fix: update preset NAM block path when loading a model globally shawn 2026-06-17 23:21:14 -04:00
  • aa0bcf35fe fix: remove auth middleware — single-user pedal doesn't need it shawn 2026-06-17 23:06:46 -04:00
  • 95029c6c8c fix: wire auth PIN to frontend, clean up dead constants shawn 2026-06-17 22:59:01 -04:00
  • a3ec86b814 chore: remove rogue patch files from tracking shawn 2026-06-17 22:51:30 -04:00
  • ad5b369a10 fix: wire auth PIN to frontend — 401 on NAM select and all POST/PUT calls shawn 2026-06-17 22:51:23 -04:00
  • 2558306e78 fix: code review batch 2 — multi-channel, thread safety, DSP reset, MIDI, hotspot, NAM, docs/CI, code quality shawn 2026-06-17 22:38:24 -04:00
  • c65e4816c4 fix: add sample_rate and block_size properties to AudioPipeline shawn 2026-06-17 21:36:33 -04:00
  • 1603bfeea0 fix: add first-boot auth PIN generation and persistence shawn 2026-06-17 21:32:51 -04:00
  • 42e357c4a1 fix: API cleanup — dedup endpoints, rename channel_mode, fix brightness scaling, device switch rollback shawn 2026-06-17 21:31:19 -04:00
  • 3c8d5e4c1c fix: move blocking subprocess calls off the async event loop shawn 2026-06-17 21:19:14 -04:00
  • 4a6e7900ce fix: NAM CPU display now responds to bypass shawn 2026-06-17 17:53:36 -04:00
  • fab8564d09 feat: add VU meter to status bar shawn 2026-06-17 17:48:44 -04:00
  • 1619b2e90e fix: clean stale JACK SHM segments on stop_jack() and at boot shawn 2026-06-17 17:39:01 -04:00
  • ebdf98076a fix: skip JACK client deactivate() if server is already dead shawn 2026-06-17 17:28:47 -04:00
  • 8aaa9abadb fix: also sync AudioConfig.period/rate before JACK restart shawn 2026-06-17 17:17:36 -04:00
  • 6008776e3c fix: move NAM block size sync before JACK client restart shawn 2026-06-17 17:09:38 -04:00
  • 1b2747abb1 fix: audio params timeout - increase API timeout for JACK restart shawn 2026-06-16 20:02:57 -04:00
  • 177d412c84 tone3000: IR downloads, model detail, arch filter, metadata shawn 2026-06-16 19:59:38 -04:00
  • 5cdc751312 tone3000 metadata capture: save .meta.json alongside downloaded models shawn 2026-06-16 19:49:23 -04:00
  • a37e381c4e backing tracks: add source selector + bluealsa in device list shawn 2026-06-16 19:20:30 -04:00
  • 334e035cde ch output: per-channel output routing dropdowns shawn 2026-06-16 19:18:30 -04:00
  • e324d9007b fix: loadAudioDevices now correctly accesses devs.devices array shawn 2026-06-16 19:15:51 -04:00
  • 427c77cbe7 fix: loadAudioDevices accesses .devices from response object shawn 2026-06-16 19:14:51 -04:00
  • 93610e4d98 audio interface: separate input/output device selectors shawn 2026-06-16 19:13:25 -04:00
  • 1530aa266f audio: replace profiles with direct sample rate + buffer size controls shawn 2026-06-16 19:11:21 -04:00
  • ea75c41745 settings: nav sticks to top with bigger buttons shawn 2026-06-16 19:03:20 -04:00
  • f6fe3b2523 settings: add horizontal section nav bar shawn 2026-06-16 18:57:53 -04:00
  • bdf1434718 fix: port 80 hardcoded in main.py (was 8080) shawn 2026-06-16 18:46:55 -04:00
  • 753de36dc2 serve on port 80 — pedal.local works without :8080 shawn 2026-06-16 18:45:53 -04:00
  • 7078217783 nuke all old UIs — templates, React SPA, /v2 mount, legacy routes shawn 2026-06-16 18:45:04 -04:00
  • 9cc08d16da settings: open as v2 overlay instead of redirecting to old settings page shawn 2026-06-16 18:41:13 -04:00
  • 93eb8cc4aa Make v2 UI Settings button navigate to /settings page shawn 2026-06-16 18:35:51 -04:00
  • 4fa49d46c1 Bump template version to 8 for CSS cache bust shawn 2026-06-16 18:33:03 -04:00
  • 88ee1e24dc Fix mobile settings sidebar: keep vertical layout instead of horizontal row shawn 2026-06-16 18:32:45 -04:00
  • 3b1bb43895 Add cache-busting ?v= to template CSS/JS, bump version shawn 2026-06-16 18:30:07 -04:00
  • a7d8a27975 Settings ⚙ button now links to /settings page with left nav sidebar shawn 2026-06-16 18:24:32 -04:00
  • 23a83cbd7b Settings: left sidebar nav with separate page views per category shawn 2026-06-16 18:19:32 -04:00
  • 29542e196b Fix settings 500: add missing block_id to FXBlock, rebuild UI shawn 2026-06-16 17:45:12 -04:00
  • 1281bf5943 Restore lost UI dist build (prefers-reduced-motion, updated SVG assets) shawn 2026-06-16 17:40:05 -04:00
  • 44f04887dc Add missing save_config() to config.py (was imported by server.py but never pushed) shawn 2026-06-16 17:29:41 -04:00
  • 2c4d7298ec Fix audio timeout when changing buffer size/sample rate shawn 2026-06-16 17:15:22 -04:00
  • 0fa8bd387a NAM hero fills screen, pedal-style FX blocks below shawn 2026-06-15 06:03:46 +00:00
  • a69aee357c v2 UI at root, instrument type selector, Gitea push shawn 2026-06-15 05:53:11 +00:00
  • e2f81fd309 Fix NAM engine block_size at boot to match audio profile period shawn 2026-06-13 22:27:22 -04:00
  • 2a74c8e114 Sync NAM engine block_size with JACK period on profile switch shawn 2026-06-13 22:26:27 -04:00
  • fa787debd1 Add stable audio profile: period=512 (10.6ms) for Pi 4B stability shawn 2026-06-13 22:24:06 -04:00
  • 11c62868cf Add UX & API test plan — 10 sections, 60 tests covering block toggle, param updates, preset CRUD, audio profile switching, volume/bypass, WebSocket broadcasts, UI visuals, edge cases, and channel isolation shawn 2026-06-13 22:20:20 -04:00
  • e7a778d33d Delete all presets everywhere shawn 2026-06-13 21:10:21 -04:00
  • 67ffc3252f Fix UnboundLocalError in MIDI handler when pyserial is missing shawn 2026-06-13 21:05:21 -04:00
  • 2aefa5303d Add /api/audio/profile endpoints for runtime latency profile switching shawn 2026-06-13 20:47:35 -04:00
  • c0c0ffe4f2 fix: toggle_block now sets bypass=not enabled - was leaving bypass=True, blocking FX shawn 2026-06-13 20:40:11 -04:00
  • 1b250cd5a3 fix: critical DSP bugs causing crackles/pops and clipping shawn 2026-06-13 20:35:38 -04:00
  • a43e65b81f fix: delay time param was 0.35 (seconds) instead of 350 (ms) — inaudible - Changed delay time from 0.35ms to 350ms for audible delay - Increased reverb mix 0.25→0.35 and decay 0.35→0.4 - Increased delay mix 0.25→0.35 and feedback 0.2→0.3 - Both reverb and delay now enabled+active by default (bypass=false) shawn 2026-06-13 20:20:11 -04:00
  • 103d36a14b cleanup: remove separate ui repo dependency, ui-dist is canonical shawn 2026-06-14 00:05:06 +00:00
  • 9e3ab9d53b fix: NAM amp level param now controls input drive, JACK period 256, toggle API matching shawn 2026-06-14 00:01:46 +00:00
  • 9fade4a2d2 fix: add missing API endpoints for volume POST, bypass/toggle, block params, block toggle; fix JACK 1.9.22 cmd args; fix Scarlett 2i2 channel count shawn 2026-06-13 21:08:58 +00:00
  • cd2ed273e9 fix: handle NaN output_level in state gathering to prevent crash shawn 2026-06-13 12:24:32 -04:00
  • 6e07aa2b38 fix: NAM SlimmableContainer (A2) model loading with correct weight import shawn 2026-06-13 12:21:53 -04:00
  • 42be40f698 fix: replace nam package import with local init_from_nam shawn 2026-06-13 12:06:11 -04:00
  • 80485186af fix: activate preset on boot after restore_state() shawn 2026-06-13 11:58:38 -04:00
  • d917d4b20d docs(server): add comment about UI_DIST_DIR env var on pedal shawn 2026-06-13 11:32:54 -04:00
  • 8e2b090eaf fix(server): prioritize pi-multifx-pedal-ui/dist over src/web/ui-dist for Helix UX shawn 2026-06-13 11:31:39 -04:00
  • 659e53766a fix(bass-presets): move factory presets to channel subdirs + per-channel install shawn 2026-06-13 10:23:57 -04:00
  • 575535762c fix: bank display showing 1 instead of 0 + build fixes shawn 2026-06-13 10:18:33 -04:00
  • 82f687323c t_926ea4a1: fix midi import path and channel-aware preset routing shawn 2026-06-13 10:18:07 -04:00
  • 4b59e4422c fix: 'Bank @' → 'Bank A' (off-by-one in transport mode bank letter gen) shawn 2026-06-13 10:17:44 -04:00
  • 42d0592856 Add factory presets for Keys, Vocals, and Backing Tracks channels shawn 2026-06-13 10:09:25 -04:00
  • 5c51b3db28 feat(nam): download 10 new A2 models for bass, orange, and other missing categories shawn 2026-06-13 02:09:56 -04:00
  • 11c838a27e docs: add 17 NAM rock, high-gain & ambient models to inventory (Banks 4-6) shawn 2026-06-13 01:56:40 -04:00
  • 04fb12dcdc download: 62 real cabinet IRs from GitHub (fnpngn/IR) shawn 2026-06-13 01:54:20 -04:00
  • e11956881f Add Bank 12: Blues genre presets — SRV, Muddy/Buddy, B.B. King, Gary Moore shawn 2026-06-13 00:52:28 -04:00
  • adb35a730b feat: Add analog and ping_pong delay subtypes under FXType.DELAY shawn 2026-06-13 00:41:22 -04:00
  • bfe1434f75 feat: separate preset banks per channel (guitar/bass) shawn 2026-06-12 23:22:47 -04:00
  • 0a21297f77 t_59dfed5b: Dual DSP Chain feasibility research document shawn 2026-06-12 23:10:32 -04:00
  • 013588f2ca feat: Tuner — pitch detection + audio mute in pipeline, API endpoint for pitch data shawn 2026-06-12 19:23:38 -04:00