Commit graph

1428 commits

Author SHA1 Message Date
Jason Gray
89577d1fc1
Improve player (#823)
* Improve error handling
* Harmonize `Seek`: Make the decoders and player use the same math for converting between samples and milliseconds
* Reduce duplicate calls: Make decoder seek in PCM, not ms
* Simplify decoder errors with `thiserror`
2021-09-20 19:29:12 +02:00
Roderick van Domburg
949ca4fded
Add and default to "auto" normalisation type (#844) 2021-09-20 19:22:02 +02:00
Matias
7401d6a96e
Don't panic on local files (#846)
Skip tracks whose Spotify ID can't be found
2021-09-20 19:20:44 +02:00
Roderick van Domburg
e27992a754
Merge pull request #843 from roderickvd/fix-documentation-typos
Fix documentation typos
2021-09-03 21:48:54 +02:00
Roderick van Domburg
30717c3db7
Merge pull request #842 from roderickvd/2db-normalisation-threshold
Update default normalisation threshold
2021-09-03 21:48:42 +02:00
Roderick van Domburg
9cb98e9e21
Fix typos and define what's "breaking" 2021-09-02 22:41:12 +02:00
Roderick van Domburg
2fcd24164d
Merge pull request #840 from roderickvd/attenuate-last
Attenuate after normalisation
2021-09-02 22:09:30 +02:00
Roderick van Domburg
ec54ae6f2e
Merge pull request #841 from roderickvd/fix-clippy-warnings
Fix clippy warnings
2021-09-02 22:07:47 +02:00
Roderick van Domburg
fe644bc0d7
Update default normalisation threshold 2021-09-02 22:04:30 +02:00
Roderick van Domburg
b016b69772
Fix clippy warnings 2021-09-01 21:25:32 +02:00
Roderick van Domburg
d8e35bf0c4
Remove clamping of float samples 2021-09-01 20:55:28 +02:00
Roderick van Domburg
7da4d0e473
Attenuate after normalisation 2021-09-01 20:54:47 +02:00
Roderick van Domburg
1540636ccc
Merge pull request #821 from roderickvd/fix-alsa-mixer
Fix Alsa mixer and rename options
2021-08-31 20:05:09 +02:00
Roderick van Domburg
c67e268dc8
Improve Alsa mixer command-line options 2021-08-26 22:35:45 +02:00
Roderick van Domburg
7f6386a736
Merge pull request #837 from sigaloid/dev
Update dependencies
2021-08-26 21:07:08 +02:00
Roderick van Domburg
c2c1b5af48
Merge pull request #822 from roderickvd/update-documentation
Update documentation
2021-08-26 20:57:54 +02:00
sigaloid
efd4a02896 Cargo update 2021-08-20 16:13:39 -04:00
Roderick van Domburg
bd350c5aa0
Remove non-working Facebook authentication 2021-07-09 22:30:49 +02:00
Roderick van Domburg
43a8b91a3d
Revert name to softvol 2021-07-09 22:17:29 +02:00
Roderick van Domburg
2541f123bc
Update documentation 2021-07-09 21:12:07 +02:00
Roderick van Domburg
4c00b19c29
Fix Alsa mixer 2021-07-09 20:12:44 +02:00
Jason Gray
68bec41e08
Improve Alsa backend buffer (#811)
* Reuse the buffer for the life of the Alsa sink
* Don't depend on capacity being exact when sizing the buffer
* Always give the PCM a period's worth of audio even when draining the buffer
* Refactoring and code cleanup
2021-07-06 08:37:29 +02:00
Roderick van Domburg
b519a4a47d
Update crates (#817) 2021-06-30 21:39:55 +02:00
Jason Gray
9ff33980d6
Better errors in PulseAudio backend (#801)
* More meaningful error messages
* Use F32 if a user requests F64 (F64 is not supported by PulseAudio)
* Move all code that can fail to `start` where errors can be returned to prevent panics
* Use drain in `stop`
2021-06-30 21:14:23 +02:00
Reinier Balt
751ccf63bb
Make convert and decoder public (#814) 2021-06-30 09:54:02 +02:00
Roderick van Domburg
c0115fd4e8
Merge pull request #763 from Johannesd3/credentials-with-blob-args
Adjust argument types of `Credentials::with_blob` to avoid redundant UTF-8 checks
2021-06-28 21:27:00 +02:00
Roderick van Domburg
5f99bbae18
Merge pull request #813 from JasonLG1979/alsa_buffer_hot_fix
Don't explicitly set the number of periods
Fixes: #812
2021-06-26 00:29:14 +02:00
JasonLG1979
bb2477831b Don't explicitly set the number of periods
Doing so on configs that have less than the 4 periods we were asking for caused a crash. Instead ask for a buffer time of 500ms.
2021-06-25 17:10:50 -05:00
Roderick van Domburg
be16d3babf
Merge pull request #807 from JasonLG1979/patch-1
Make CI ignore things that should not trigger build tests (reprise)
2021-06-20 11:24:04 +02:00
Jason Gray
b1f1464825
Round 2 of trying to get CI to ignore things that should not trigger a build test 2021-06-20 00:07:33 -05:00
Roderick van Domburg
a7326815bd
Merge pull request #802 from JasonLG1979/fix_pipe_backend
Better errors in pipe backend
2021-06-19 22:38:47 +02:00
Roderick van Domburg
40e56794ce
Merge pull request #804 from JasonLG1979/patch-1
Make CI ignore things that should not trigger build tests
2021-06-19 22:31:50 +02:00
JasonLG1979
586e864427 Update change log 2021-06-18 17:33:49 -05:00
Jason Gray
14de03e06f
Update tests
Make CI ignore things that should not trigger build tests.
2021-06-18 17:20:27 -05:00
Roderick van Domburg
79f08c54f5
Merge pull request #803 from JasonLG1979/fix_clippy_warnings
Fix clippy warnings introduced by #797.
2021-06-18 22:32:55 +02:00
JasonLG1979
336e714dba Fix clippy warning 2021-06-18 15:30:22 -05:00
JasonLG1979
5ffce0662a Fix clippy warnings
Fix the clippy warnings caused by https://github.com/librespot-org/librespot/pull/797
2021-06-18 15:11:07 -05:00
Jason Gray
2466e0b3c1
Merge branch 'librespot-org:dev' into fix_pipe_backend 2021-06-18 14:12:32 -05:00
Jason Gray
4c77854ffe
Better errors alsa backend (#797)
Better error handling in Alsa backend

* More consistent error messages
* Bail on fatal errors in player
* Capture and log the original error as a warning when trying to write to PCM before trying to recover
2021-06-18 20:25:09 +02:00
JasonLG1979
0bece0d867 Fix pipe backend
* Move all code that can fail to `start` where errors can be returned to prevent a panic!
* Replace unwrap
2021-06-18 04:54:20 -05:00
Hugo Osvaldo Barrera
51a697201b
Include a systemd.service file to run as a user (#800)
Include a systemd.service file to run as a user

This new `systemd.service` file allows running and controlling the service as
an unpriviledged user (generally, as part of a user session).
2021-06-18 11:40:44 +02:00
Roderick van Domburg
b0a94f901d
Merge pull request #789 from JasonLG1979/alsa_backend_fix
Improve ALSA buffer size
2021-06-09 20:51:15 +02:00
Roderick van Domburg
c30959212a
Update CHANGELOG.md 2021-06-09 20:50:24 +02:00
JasonLG1979
4af095e741 Improve ALSA buffer size
* Go back to 4 periods at 125ms.
* Deal strictly in period time and periods to set ALSA buffer.
* Rename `buffer` to `period_buffer`.
* Add comments and change some other var names to add clarity.
* Let ALSA calculate the size of `period_buffer`.
2021-06-08 23:44:20 -05:00
Roderick van Domburg
5764f1f1a2
Merge pull request #783 from roderickvd/remove-fallback-accesspoint
Remove feature gate around `apresolve`

See: hrkfdn/ncspot#535
2021-06-05 23:53:31 +02:00
Roderick van Domburg
7c975f8ed0
Remove feature gate around apresolve 2021-06-01 20:43:23 +02:00
Roderick van Domburg
33c07f0e2b
Merge pull request #785 from roderickvd/revert-round-half-to-even
Revert `math::round_half_to_even`
2021-06-01 08:17:28 +02:00
Roderick van Domburg
d4f466ef58
Revert math::round_half_to_even
This caused quite a bump in CPU usage, which be acceptable if this
actually improved sound quality. However, it turns out that this
function only has one decimal precision, i.e. it would consider
all values from `0.50..0.60` (exclusive) as `0.5` which is in
error for our purposes.
2021-05-31 23:35:48 +02:00
Roderick van Domburg
ad19b69bfb
Various code improvements (#777)
* Remove deprecated use of std::u16::MAX
* Use `FromStr` for fallible `&str` conversions
* DRY up strings into constants
* Change `as_ref().map()` into `as_deref()`
* Use `Duration` for time constants and functions
* Optimize `Vec` with response times
* Move comments for `rustdoc` to parse
2021-05-31 22:32:39 +02:00
Roderick van Domburg
bae1834988
Fix output on big-endian systems (#778) 2021-05-30 20:57:46 +02:00