This website requires JavaScript.
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