v0.1.1-alpha.5
·
35 commits
to main
since this release
Fixes
- Critical: audio xruns on EQ changes — Removed RwLock from the real-time audio thread. EQ processing now runs entirely on the PipeWire mainloop thread with zero lock acquisitions.
- Critical: TUI hangs on event thread failure — Event thread no longer panics silently when the channel drops. Exits cleanly instead of freezing the TUI.
- UX: zero-value cell editing — Entering insert mode on a frequency/gain/Q cell at 0 now starts with an empty input field. No more deleting "0.0" before typing a new value.
Performance
- Preamp folded into EQ processing — Preamp multiplication is now applied inside the biquad chain's output pass, eliminating one full buffer traversal per audio callback.
- Peak detection loop merged — Left and right channel peak scanning combined into a single pass.
Internal
- Removed EffectPlugin trait (single implementation, no longer needed)
- Pipeline::set_bands() removed — EQ config flows through the command channel
- 0 new dependencies
Full Changelog: v0.1.1-alpha.4...v0.1.1-alpha.5