feat(settings): add limit quality to device toggle and max sample rate tracking

Frontend changes for quality limiting feature:
- Add limitQualityToDevice state and handler
- Add AudioSettings interface fields for limit_quality_to_device and device_max_sample_rate
- Update handleBackendDeviceChange to send max_sample_rate when device changes
- Update handleOutputDeviceChange to find max_sample_rate from backend devices
- Add Settings UI toggle for "Limit Quality to Device"

This completes the quality limiting feature that prevents requesting tracks
that exceed the device's sample rate capabilities, ensuring bit-perfect playback.
This commit is contained in:
vicrodh committed 2026-02-01 19:29:15 -06:00
1 parent 6d53907233
commit 39e8814848
2 files changed
+36 -3

No files matched your search

+1 -1
View File
@@ -43,7 +43,7 @@ fn limit_quality_for_device(quality: Quality, max_sample_rate: Option<u32>) -> Q
Quality::UltraHiRes | Quality::HiRes => {
log::info!(
"[Quality Limit] Device max {}Hz, limiting {} to Lossless (44.1kHz)",
max_rate, quality.display_name()
max_rate, quality.label()
);
Quality::Lossless
}