mirror of
https://github.com/librespot-org/librespot.git
synced 2024-09-19 16:08:30 +00:00
eca505c387
This is a squashed commit featuring the following: Connect: - Synchronize player volume with mixer volume on playback - Fix step size on volume up/down events - Remove no-op mixer started/stopped logic Playback: - Move from `connect` to `playback` crate - Make cubic volume control available to all mixers with `--volume-ctrl cubic` - Normalize volumes to `[0.0..1.0]` instead of `[0..65535]` for greater precision and performance (breaking) - Add `--volume-range` option to set dB range and control `log` and `cubic` volume control curves - Fix `log` and `cubic` volume controls to be mute at zero volume Alsa mixer: - Complete rewrite (breaking) - Query card dB range for the `log` volume control unless specified otherwise - Query dB range from Alsa softvol (previously only from hardware) - Use `--device` name for `--mixer-card` unless specified otherwise - Fix consistency for `cubic` between cards that report minimum volume as mute, and cards that report some dB value - Fix `--volume-ctrl {linear|log}` to work as expected - Removed `--mixer-linear-volume` option; use `--volume-ctrl linear` instead
2.8 KiB
2.8 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning since v0.2.0.
Unreleased
Added
- [playback] Add
--volume-range
option to set dB range and controllog
andcubic
volume control curves - [playback]
alsamixer
: support for querying dB range from Alsa softvol
Changed
- [audio, playback] Moved
VorbisDecoder
,VorbisError
,AudioPacket
,PassthroughDecoder
,PassthroughError
,AudioError
,AudioDecoder
and theconvert
module fromlibrespot-audio
tolibrespot-playback
. The underlying cratesvorbis
,librespot-tremor
,lewton
andogg
should be used directly. (breaking)
- [connect, playback] Moved volume controls from
connect
toplayback
crate
- [connect] Synchronize player volume with mixer volume on playback
- [playback] Make cubic volume control available to all mixers with
--volume-ctrl cubic
- [playback] Normalize volumes to
[0.0..1.0]
instead of[0..65535]
for greater precision and performance (breaking) - [playback]
alsamixer
: complete rewrite (breaking) - [playback]
alsamixer
: query card dB range for thelog
volume control unless specified otherwise - [playback]
alsamixer
: use--device
name for--mixer-card
unless specified otherwise
Fixed
- [connect] Fix step size on volume up/down events
- [playback] Fix
log
andcubic
volume controls to be mute at zero volume - [playback]
alsamixer
: makecubic
consistent between cards that report minimum volume as mute, and cards that report some dB value - [playback]
alsamixer
: make--volume-ctrl {linear|log}
work as expected
Removed
- [connect] Removed no-op mixer started/stopped logic
- [playback]
alsamixer
: removed--mixer-linear-volume
option; use--volume-ctrl linear
instead
Fixed
- [librespot-playback] Incorrect
PlayerConfig::default().normalisation_threshold
caused distortion when using dynamic volume normalisation downstream