Skip to content

feat(audio): add output device selection in Settings > Audio#26

Open
pythoninthegrass wants to merge 1 commit intomainfrom
begin-backlog-task-268
Open

feat(audio): add output device selection in Settings > Audio#26
pythoninthegrass wants to merge 1 commit intomainfrom
begin-backlog-task-268

Conversation

@pythoninthegrass
Copy link
Collaborator

Enumerate available audio output devices via cpal (through rodio) and present them in a dropdown under Settings > Audio. Switching devices preserves current playback position by reloading the track on the new output stream. Selection persists in the Tauri settings store and restores on startup with fallback to system default.

Backend: AudioEngine::set_device(), list_output_devices(), two new Tauri commands (audio_list_devices, audio_set_device), DeviceListResponse type. Frontend: api/audio.js module, Audio nav section in settings view, select dropdown with Default + enumerated devices.

Tests: 10 new Rust unit tests, 6 new Playwright E2E tests.

Closes TASK-268

Enumerate available audio output devices via cpal (through rodio) and
present them in a dropdown under Settings > Audio. Switching devices
preserves current playback position by reloading the track on the new
output stream. Selection persists in the Tauri settings store and
restores on startup with fallback to system default.

Backend: AudioEngine::set_device(), list_output_devices(), two new Tauri
commands (audio_list_devices, audio_set_device), DeviceListResponse type.
Frontend: api/audio.js module, Audio nav section in settings view, select
dropdown with Default + enumerated devices.

Tests: 10 new Rust unit tests, 6 new Playwright E2E tests.

Closes TASK-268

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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