Problem
When you plug/unplug a microphone (like switching between built-in and earbuds), Whispering doesn't automatically detect the change. You have to manually select the new device in settings, or recordings silently fail/use the wrong mic.
This is confusing because most apps just use "whatever mic your system is using" without manual configuration.
Proposed Solution
- Add "System Default" option - Let users select "System Default" in the mic dropdown, which always uses the OS default input device
- Auto-detect device changes - Listen for device plug/unplug events and update the device list automatically
- Auto-switch when using "System Default" - If set to "System Default", automatically follow system changes
Current Behavior
- Device selection is stored per recording method (CPAL/Navigator/FFmpeg)
- Falls back to first available device if selected device disappears
- Must manually refresh device list to see changes
Technical Notes
Backend already supports "default" device via host.default_input_device() in recorder.rs:300-321. Main work is:
- Expose "System Default" in device selector UI components
- Add
devicechange event listeners
- Ensure consistent behavior across all recording methods
Originally reported by: Discord user CygnusIgnis https://discord.com/channels/1391098486178582549/1460055846703595733
Problem
When you plug/unplug a microphone (like switching between built-in and earbuds), Whispering doesn't automatically detect the change. You have to manually select the new device in settings, or recordings silently fail/use the wrong mic.
This is confusing because most apps just use "whatever mic your system is using" without manual configuration.
Proposed Solution
Current Behavior
Technical Notes
Backend already supports "default" device via
host.default_input_device()in recorder.rs:300-321. Main work is:devicechangeevent listenersOriginally reported by: Discord user CygnusIgnis https://discord.com/channels/1391098486178582549/1460055846703595733