Remove dead 'currentVolume' variable that was never written to, causing SwitchDevice to always restore volume to 0 after switching audio devices. - Remove currentVolume from package state - SwitchDevice now sets mix.MAX_VOLUME after reopening device - GetVolume128 now queries SDL directly instead of reading stale variable - Add unit tests for parseSinks, parseSinkLine, and ConvertVolume - Add changelog.txt tracking all audio bug fixes
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
|
## [Unreleased]
|
|
|
|
### Fixed
|
|
- Audio volume silently zeroed after switching output devices
|
|
- Device switch not persisted to database across restarts
|
|
- Device restore path passes invalid device name to SDL
|
|
- Stop() no-op when audio toggled off mid-playback
|
|
- Active device highlight incorrect when using default device
|
|
- Play() deadlocks when called before device is open
|
|
|
|
### Added
|
|
- Human-readable audio device names (Built-in Speakers, HDMI/TV/Monitor)
|
|
- Unit tests for mixer package (parseSinks, parseSinkLine, ConvertVolume)
|
|
|
|
### Changed (Major Refactors)
|
|
- Mixer package: inject audio backend dependencies for testability
|
|
- Mixer package: extract wpctl calls behind an interface
|
|
|
|
## [Audio Bugs v0.1] - 2026-07-10
|
|
|
|
### Fixed
|
|
- Audio volume silently zeroed after switching output devices
|
|
- Device switch not persisted to database across restarts
|
|
- Device restore path passes invalid device name to SDL
|
|
- Stop() no-op when audio toggled off mid-playback
|
|
- Active device highlight incorrect when using default device
|
|
- Play() deadlocks when called before device is open
|
|
|
|
### Added
|
|
- Human-readable audio device names (Built-in Speakers, HDMI/TV/Monitor)
|
|
- Unit tests for mixer package (parseSinks, parseSinkLine, ConvertVolume)
|