Roderick van Domburg
770ea15498
Add support for S24 and S24_3 output formats
2021-03-17 00:00:27 +01:00
Roderick van Domburg
9dcaeee6d4
Default to S16 output
2021-03-16 20:22:00 +01:00
Roderick van Domburg
309e26456e
Rename steepness to knee
2021-03-14 14:28:16 +01:00
Roderick van Domburg
5f26a745d7
Add support for S32 output format
...
While at it, add a small tweak when converting "silent" samples
from float to integer. This ensures 0.0 converts to 0 and vice
versa.
2021-03-13 23:43:24 +01:00
Roderick van Domburg
a4ef174fd0
Fix Alsa backend for 64-bit systems
2021-03-12 23:50:17 +01:00
Roderick van Domburg
6379926eb4
Fix example
2021-03-12 23:47:15 +01:00
Roderick van Domburg
5257be7824
Add command-line option to set F32 or S16 bit output
...
Usage: `--format {F32|S16}`. Default is F32.
- Implemented for all backends, except for JACK audio which itself
only supports 32-bit output at this time. Setting JACK audio to S16
will panic and instruct the user to set output to F32.
- The F32 default works fine for Rodio on macOS, but not on Raspian 10
with Alsa as host. Therefore users on Linux systems are warned to set
output to S16 in case of garbled sound with Rodio. This seems an issue
with cpal incorrectly detecting the output stream format.
- While at it, DRY up lots of code in the backends and by that virtue,
also enable OggData passthrough on the subprocess backend.
- I tested Rodio, ALSA, pipe and subprocess quite a bit, and call on
others to join in and test the other backends.
2021-03-12 23:09:15 +01:00
Roderick van Domburg
1672eb87ab
Fix build on Rust < 1.50.0
2021-03-12 23:09:15 +01:00
Roderick van Domburg
f29e5212c4
High-resolution volume control and normalisation
...
- Store and output samples as 32-bit floats instead of 16-bit integers.
This provides 24-25 bits of transparency, allowing for 42-48 dB of
headroom to do volume control and normalisation without throwing
away bits or dropping dynamic range below 96 dB CD quality.
- Perform volume control and normalisation in 64-bit arithmetic.
- Add a dynamic limiter with configurable threshold, attack time,
release or decay time, and steepness for the sigmoid transfer
function. This mimics the native Spotify limiter, offering greater
dynamic range than the old limiter, that just reduced overall gain
to prevent clipping.
- Make the configurable threshold also apply to the old limiter, which
is still available.
Resolves : librespot-org/librespot#608
2021-03-12 23:09:15 +01:00
Ash
56f1fb6dae
Merge pull request #595 from Johannesd3/const_versions
...
Replace version functions by constants
2021-02-26 10:47:44 +01:00
Sasha Hilton
4beb3d5e60
Add version string CLI parameter, set name to optional parameter, default to 'librespot'
2021-02-23 18:35:57 +00:00
Sasha Hilton
da0e913fa5
Merge pull request #647 from Johannesd3/msrv_1.41
...
Set MSRV to 1.41
2021-02-23 18:05:10 +00:00
Johannes Dertmann
58bd339e90
Restore MSRV to 1.41
2021-02-23 09:36:57 +01:00
Sasha Hilton
e8204c970e
Merge pull request #569 from philippe44/passthrough-v3
...
Allow pipeline writer to spit out Ogg directly, including when seeking
2021-02-23 00:16:01 +00:00
Sasha Hilton
19e22ef486
Add note on issues/discussions.
2021-02-23 00:13:13 +00:00
Philippe G
34bc286d9b
ogg passthrough
...
rename
2021-02-22 13:45:53 -08:00
Sasha Hilton
d8c1b491c4
Merge branch 'master' into dev
2021-02-22 00:57:45 +00:00
Sasha Hilton
d4b36b2398
Bump cargo.lock
2021-02-22 00:48:14 +00:00
Sasha Hilton
b7c3609c7b
Update version numbers to 0.1.6
2021-02-22 00:37:28 +00:00
Sasha Hilton
6407c20ea3
Merge branch 'master' into dev
2021-02-22 00:21:50 +00:00
Sasha Hilton
2060901c1e
Merge pull request #605 from flaktack/spirc-command-play-pause
...
Fix state toggling in SpircCommand::PlayPause
2021-02-21 23:30:48 +00:00
Sasha Hilton
4e1c24d98d
Merge pull request #602 from Johannesd3/bumb_crypto_crates
...
Bump crypto crates
2021-02-21 23:29:00 +00:00
Sasha Hilton
91152b47d8
Merge pull request #607 from willstott101/master
...
Stabilises #529 (NetBSD support)
2021-02-21 23:27:25 +00:00
Will Stott
89ad7a44a6
Update Cargo.lock
2021-02-21 19:01:31 +00:00
Will Stott
0b211f923f
Stabilization of libmdns at 0.2.7 (includes fix for NetBSD)
2021-02-21 18:54:16 +00:00
Sasha Hilton
7f705ed148
Merge branch 'master' into dev
2021-02-20 23:31:04 +00:00
Sasha Hilton
91dc14794c
Update Cargo.lock
2021-02-20 23:23:44 +00:00
Sasha Hilton
2c110ca256
Update version numbers to 0.1.5
2021-02-20 23:05:56 +00:00
Sasha Hilton
66566e0b26
remove errant live code in dry-run of publish.sh
2021-02-20 23:04:08 +00:00
Sasha Hilton
4e0f5e46a5
Add skip-merge and dry-run options to publish script. Update Cargo.lock.
2021-02-20 22:59:35 +00:00
Sasha Hilton
a173fa7cc5
Remove depreciated error description method
2021-02-20 21:55:12 +00:00
Érico Nogueira Rolim
7662bc5064
librespot-audio: update librespot-tremor.
...
This picks up a fix for librespot-tremor when building with Rust 1.48.
2021-02-20 21:54:14 +00:00
Zsombor Welker
392a12af92
Fix toggling in SpircCommand::PlayPause
...
Fix play/pause toggling in handle_play_pause() to correctly call handled_play()/handle_pause() based on the state.
2021-02-20 15:05:53 +01:00
Johannes Dertmann
c8e45ab690
Modified startup message
2021-02-17 15:13:57 +01:00
johannesd3
bce4858b9e
Add semver constant, rename "build id" env var
2021-02-17 15:04:16 +01:00
johannesd3
34733baa75
Bump crypto crates
2021-02-13 19:10:57 +01:00
johannesd3
85be0d075a
Adjust documentation
2021-02-12 20:21:07 +01:00
Sasha Hilton
f483075b2c
Merge pull request #548 from Lcchy/rodiojack-backend
...
Use rodio for the jackaudio backend
2021-02-11 02:24:48 +00:00
Sasha Hilton
59f87dcb37
Amend conditional compilation to fail on unsupported systems
2021-02-10 01:44:05 +00:00
Sasha Hilton
aad4dba8a8
Merge branch 'dev' into rodiojack-backend
2021-02-10 01:07:02 +00:00
Sasha Hilton
ea8ece36d9
Merge pull request #597 from librespot-org/config-update
...
Update CI MSRV, remove Travis. Minor tweaks to device discovery.
2021-02-10 00:48:31 +00:00
Sasha Hilton
0246c04987
Remove Travis CI badge, add Github workflows badge.
2021-02-10 00:28:45 +00:00
Sasha Hilton
6d15a17df8
Bump MSRV to 1.42.0
2021-02-10 00:25:19 +00:00
johannesd3
09e506ed66
Replace version functions by constants
2021-02-09 19:42:56 +01:00
Lcchy
52438b1cc2
Use rodio for jackaudio backend
2021-02-09 17:45:21 +01:00
Sasha Hilton
b72485cf46
Merge pull request #593 from Johannesd3/fix-issue-591
2021-02-09 13:54:47 +00:00
johannesd3
2f660f74ec
Small refactor
2021-02-09 09:15:55 +01:00
johannesd3
d3495cfed4
Re-add support for Rust 1.40
2021-02-09 09:14:32 +01:00
Sasha Hilton
deabf1f915
Minor updates to discovery and device types
2021-02-09 03:16:40 +00:00
Sasha Hilton
a3ad8eb962
Remove Travis as CI test
2021-02-09 03:11:38 +00:00