menuband 0.4: mute toggle, sandbox-safe key capture, accent-tinted icon
- Popover: speaker icon next to MIDI mutes the local synth (state lit + MIDI
out still flow; only the built-in sampler/MIDISynth is gagged). Persists
in UserDefaults; flipping on calls synth.panic() so tails don't hang.
- LocalKeyCapture: invisible NSPanel + NSEvent monitor for keys while Menu
Band is the active app. No CGEventTap, no Accessibility prompt — the
MAS-eligible path. AppDelegate routes both global-tap and local-panel
keys through a single playKeyEvent handler.
- IconTinter: hue-rotates AppIcon.icns to the user's accent color via
NSWorkspace.setIcon, written as extended attrs so the Developer ID
signature stays intact. install.sh strips Icon\r resource fork before
codesign and fails loudly instead of silently falling back to ad-hoc.
- Voice routing: keyboard path now round-robins across 8 melodic channels
(mirrors the menubar-tap path) so rapid retriggers overlap as distinct
voices instead of stomping on channel 0. Display-note tracking keeps the
visible C4–C5 lit state honest under octave shift.
- Popover refresh: instrument readout moved to the title row, palette greys
(not hides) on MIDI mode so the popover geometry stays stable, "Mouse
Only" mode retired (local capture handles that implicitly).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>