Skip to content

feat(settings): selectable audio input devices in settings - #16

Open
milaforge wants to merge 2 commits into
cjams:mainfrom
milaforge:main
Open

feat(settings): selectable audio input devices in settings#16
milaforge wants to merge 2 commits into
cjams:mainfrom
milaforge:main

Conversation

@milaforge

@milaforge milaforge commented May 3, 2026

Copy link
Copy Markdown

This change adds audio input device selection to the settings UI so WhisperTux can record from non-default sources, including PipeWire/ALSA inputs such as Android microphones.

It keeps the implementation narrow:

  • exposes available input devices in the existing settings dialog
  • validates the selected device before saving it
  • applies the device to the running audio capture instance without requiring a restart
  • normalizes legacy config values like "default" and stringified device IDs
  • adds focused regression tests for device-reference normalization and switching

Why:

  • fixes cases where PortAudio’s default input is not the source the user wants
  • avoids persisting broken audio-device settings
  • improves readability and alignment in the related settings rows without broader UI churn

Validation:

  • python3 -m unittest discover -s tests
  • python3 -m compileall main.py src tests
  • git diff --check

Notes:

  • linter tooling was not available in this environment
  • If two input sources share the exact name and host_api, restore is still ambiguous.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant