Roderick van Domburg
33620280f5
Fix build on Cargo 1.48
2021-12-08 20:44:48 +01:00
Roderick van Domburg
f74c574c9f
Fix lyrics and add simpler endpoint
2021-12-08 20:27:15 +01:00
Roderick van Domburg
9b2ca1442e
Move FileId out of SpotifyId
2021-12-08 19:53:45 +01:00
Roderick van Domburg
f03a7e95c1
Merge remote-tracking branch 'librespot-org/dev' into new-api-wip
2021-12-08 19:11:53 +01:00
Roderick van Domburg
87f6a78d3e
Fix examples
2021-12-07 23:52:34 +01:00
Roderick van Domburg
0e2686863a
Major metadata refactoring and enhancement
...
* Expose all fields of recent protobufs
* Add support for user-scoped playlists, user root playlists and
playlist annotations
* Convert messages with the Rust type system
* Attempt to adhere to embargos (tracks and episodes scheduled for
future release)
* Return `Result`s with meaningful errors instead of panicking on
`unwrap`s
* Add foundation for future playlist editing
* Up version in connection handshake to get all version-gated features
2021-12-07 23:22:24 +01:00
Roderick van Domburg
7160dc1017
Merge pull request #897 from JasonLG1979/clippy-lints
...
Address clippy lint warnings from Rust 1.57
2021-12-03 20:07:56 +01:00
JasonLG1979
4370258716
Address clippy lint warnings for rust 1.57
2021-12-03 12:51:41 -06:00
Jason Gray
e66cc5508c
parse environment variables ( #886 )
...
Make librespot able to parse environment variables for options and flags.
To avoid name collisions environment variables must be prepended with `LIBRESPOT_` so option/flag `foo-bar` becomes `LIBRESPOT_FOO_BAR`.
Verbose logging mode (`-v`, `--verbose`) logs all parsed environment variables and command line arguments (credentials are redacted).
2021-12-01 21:29:58 +01:00
Roderick van Domburg
47badd61e0
Update tokio and fix build
2021-11-27 14:26:13 +01:00
Roderick van Domburg
f037a42908
Migrate and expand playlist protos
2021-11-27 11:59:22 +01:00
Roderick van Domburg
a73e05837e
Return HttpClientError for status code <> 200
2021-11-27 10:41:54 +01:00
Roderick van Domburg
e1b273b8a1
Fix lyrics retrieval
2021-11-27 08:30:51 +01:00
Roderick van Domburg
d19fd24074
Add spclient and HTTPS support
...
* Change metadata to use spclient
* Add support for HTTPS proxies
* Start purging unwraps and using Result instead
2021-11-26 23:28:37 +01:00
Nick Botticelli
56585cabb6
Add Google sign in credential to protobufs
2021-11-26 23:28:37 +01:00
Tom Vincent
bbd575ed23
Harden systemd service, update restart policy ( #888 )
2021-11-26 19:49:50 +01:00
Roderick van Domburg
97399e2c0a
Merge pull request #883 from JasonLG1979/improve_device_list_outputs
...
Improve `--device ?` functionality for the alsa backend
2021-11-25 09:45:36 +01:00
JasonLG1979
c006a23644
Improve --device ?
functionality for the alsa backend
...
This makes `--device ?` only show compatible devices (ones that support 2 ch 44.1 Interleaved) and it shows what `librespot` format(s) they support.
This should be more useful to users as the info maps directly to `librespot`'s `--device` and `--format` options.
2021-11-20 13:51:24 -06:00
Roderick van Domburg
e064f27c13
Merge pull request #880 from JasonLG1979/fix_index_out_bounds_spirc
...
Guard against tracks_len being zero
2021-11-19 21:52:39 +01:00
JasonLG1979
3016d6fbdb
Guard against tracks_len being zero
...
to prevent 'index out of bounds: the len is 0 but the index is 0'
https://github.com/librespot-org/librespot/issues/226#issuecomment-971642037
2021-11-17 21:15:35 -06:00
Roderick van Domburg
85d6049ee7
Merge pull request #875 from JasonLG1979/refactor-main
...
Refactor main.rs
2021-11-17 22:44:22 +01:00
JasonLG1979
0e9fdbe6b4
Refactor main.rs
...
* Don't panic when parsing options. Instead list valid values and exit.
* Get rid of needless .expect in playback/src/audio_backend/mod.rs.
* Enforce reasonable ranges for option values (breaking).
* Don't evaluate options that would otherwise have no effect.
* Add pub const MIXERS to mixer/mod.rs very similar to the audio_backend's implementation. (non-breaking though)
* Use different option descriptions and error messages based on what backends are enabled at build time.
* Add a -q, --quiet option that changed the logging level to warn.
* Add a short name for every flag and option.
* Note removed options.
* Other misc cleanups.
2021-11-17 15:31:16 -06:00
Roderick van Domburg
45b19efd03
Merge pull request #874 from JasonLG1979/kill-the-undead
...
Prevent librespot from becoming a zombie
2021-10-30 20:27:42 +02:00
JasonLG1979
24e4d2b636
Prevent librespot from becoming a zombie
...
Prevent hang when discovery is disabled and there are no credentials or when bad credentials are given.
2021-10-28 09:13:46 -05:00
Roderick van Domburg
5049cd76e0
Merge pull request #872 from JasonLG1979/add-disable-credential-cache-flag
...
Add disable credential cache flag
2021-10-28 15:18:34 +02:00
JasonLG1979
9e017119bb
Address review change request
2021-10-27 14:47:33 -05:00
Jason Gray
fefd432773
Merge branch 'librespot-org:dev' into add-disable-credential-cache-flag
2021-10-27 14:42:24 -05:00
Roderick van Domburg
bd39a362f7
Merge pull request #873 from jannuary/patch-1
...
README: Mention Spot
2021-10-27 20:50:46 +02:00
JasonLG1979
e543ef72ed
Clean up cache logic in main
2021-10-27 10:14:40 -05:00
Noëlle
81e7c61c17
README: Mention Spot
2021-10-27 20:03:14 +07:00
JasonLG1979
9152ca8159
Update changelog
2021-10-26 22:20:24 -05:00
JasonLG1979
52bd212e43
Add disable credential cache flag
...
As mentioned in https://github.com/librespot-org/librespot/discussions/870 , this allows someone who would otherwise like to take advantage of audio file and volume caching to disable credential caching.
2021-10-26 22:06:52 -05:00
Roderick van Domburg
b4784ebf9c
Merge pull request #871 from roderickvd/update-crates
...
Update crates
2021-10-26 21:40:58 +02:00
Roderick van Domburg
72b2c01b3a
Update crates
2021-10-26 20:10:39 +02:00
Roderick van Domburg
c1ac4cbb3a
Update Cargo.lock for 0.3.1
2021-10-24 20:24:28 +02:00
Roderick van Domburg
0e6b1ba9dc
Update version numbers to 0.3.1
2021-10-24 20:12:33 +02:00
Roderick van Domburg
9d19841c0f
Prepare for 0.3.1 release
2021-10-24 20:07:11 +02:00
Roderick van Domburg
f21c25a257
Merge pull request #869 from JasonLG1979/clarify-arg-descriptions
...
Improve command line option description grammar
2021-10-24 19:28:08 +02:00
JasonLG1979
a5c7580d4f
Grammar Police the arg descriptions
2021-10-22 17:41:59 -05:00
Roderick van Domburg
6d127b46c6
Merge pull request #868 from roderickvd/smallrng-dither
...
Change hand-picked RNGs back to `SmallRng`
2021-10-21 21:45:13 +02:00
Roderick van Domburg
ff3648434b
Change hand-picked RNGs back to SmallRng
...
While `Xoshiro256+` is faster on 64-bit, it has low linear complexity in the
lower three bits, which *are* used when generating dither.
Also, while `Xoshiro128StarStar` access one less variable from the heap,
multiplication is generally slower than addition in hardware.
2021-10-21 19:31:58 +02:00
Roderick van Domburg
4c89a721ee
Improve dithering CPU usage ( #866 )
2021-10-19 22:33:04 +02:00
Roderick van Domburg
b125659e12
Merge pull request #865 from kingosticks/feature/log-build-profile
...
Add build profile to displayed version info
2021-10-14 20:53:04 +02:00
Nick Steel
3b51a5dc23
Include build profile in the displayed version information
...
Example output from -V for a debug build is:
librespot 0.3.0 832889b (Built on 2021-10-14, Build ID: ANJrycbG, Profile: debug)
2021-10-14 14:38:09 +01:00
Roderick van Domburg
d99581aeb7
Tag 0.3.0 and document #859
2021-10-13 20:37:46 +02:00
Roderick van Domburg
8ab5a94451
Merge pull request #859 from roderickvd/fix-album-play
...
Fix behavior after last track of an album/playlist
Partly fixes : #434
2021-10-13 20:33:57 +02:00
Sasha Hilton
afbdd11f45
Update Cargo.lock for 0.3.0
2021-10-13 15:30:13 +01:00
Sasha Hilton
6a3377402a
Update version numbers to 0.3.0
2021-10-13 15:10:18 +01:00
Roderick van Domburg
2c9564570c
Merge pull request #860 from JasonLG1979/simplify-buffer-resizing
...
Simplify Alsa buffer resizing
2021-10-08 15:49:05 +02:00
JasonLG1979
9ef53f5ffb
simplify buffer resizing
...
This way is less verbose, much more simple and less brittle.
2021-10-07 08:44:29 -05:00