Skip to content

Add "System Default" microphone option with automatic device detection #1246

@thisisharsh7

Description

@thisisharsh7

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

  1. Add "System Default" option - Let users select "System Default" in the mic dropdown, which always uses the OS default input device
  2. Auto-detect device changes - Listen for device plug/unplug events and update the device list automatically
  3. 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

Metadata

Metadata

Assignees

Labels

enhancementImprovements or new feature requests

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions