Skip to content

v0.2.1 — settings + overlay + multi-channel audio fixes

Choose a tag to compare

@trsdn trsdn released this 02 Jun 09:47
· 29 commits to main since this release

Fixes the three biggest issues users hit in v0.2.0:

  • Transcription no longer returns empty strings on multi-channel mics. The Qualcomm Aqstic mic array on Surface Pro exposes 4-8 interleaved channels at 48 kHz; the recorder was feeding the raw interleaved buffer to the resampler as if it were mono. Now downmixed properly inside the audio callback.
  • Settings UI no longer freezes the tray app. CreateProcessW on Windows ARM64 (especially with Defender real-time scanning) can block the calling thread for several seconds. Spawning it inline from the winit tick handler stalled the tray's message pump → app went 'Not Responding' → hotkey died. Now spawned from a worker thread; main pump keeps draining.
  • Visual recording indicator — small dark pill at bottom-center with 22 vertical white bars that breathe with the audio level. Custom Win32 layered top-most window on its own thread, color-key transparent for a clean shape, painted with double-buffered GDI.

Other improvements: ControlFlow::Wait + EventLoopProxy so the main pump sleeps when idle (no more 16 ms spin in about_to_wait); settings.json hot-reload via mtime polling (engine + hotkey changes take effect live, no restart).