Commit Graph

3 Commits

Author SHA1 Message Date
shawn 77a757cee6 R1: Dashboard 500 fix, Phase 2/7 uncommitted changes
- Fix dashboard 500 when deps disconnected — _gather_state() now returns
  full defaults instead of bare {'connected': False}
- Phase 2: FX param schemas aligned with DSP implementations
- Phase 7: Pipeline routing, preset manager improvements
- Factory presets: cleanup and normalization

Fixes dashboard crash on disconnected state (dogfood issue #1)
2026-06-12 14:02:13 -04:00
shawn 9a6cbdf9ac feat(presets): seed default overdrive/delay/reverb/chorus presets
Add Bank 2 'FX Bench' with 4 dedicated factory presets:
- Overdrive Bench: noise_gate + overdrive + volume
- Delay Bench: noise_gate + eq + delay + volume
- Reverb Bench: noise_gate + eq + reverb + volume
- Chorus Bench: noise_gate + eq + chorus + volume

Each preset showcases a single core effect with well-tuned default
parameters derived from the pipeline DSP schemas.

All 46 existing tests pass.
2026-06-12 03:05:56 -04:00
shawn c38a7b0fd8 Add main entry point + systemd services + integration tests
New files:
  main.py                   - PedalApp: boots all subsystems in order,
                              wires MIDI/footswitch callbacks, graceful
                              teardown reverses boot order
  src/system/config.py      - YAML config loader with deep-merge
                              (separated to avoid hardware deps)
  src/system/services.py    - systemd unit generator for pedal.service
                              + multi-fx-pedal.target
  scripts/install_service.sh - copies project, creates venv, installs
                              + enables service units
  tests/test_integration.py - 41 tests: boot, routing, display sync,
                              teardown, systemd content, CLI, edge cases

Modified:
  tests/conftest.py         - add project root to sys.path
2026-06-07 23:39:50 -04:00