Commit graph

1382 commits

Author SHA1 Message Date
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
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
Nick Botticelli
7ed8fc01ee Add more platforms to keyexchange.proto 2021-09-21 02:13:32 -07:00
Roderick van Domburg
f99f336a6a
Merge pull request #816 from roderickvd/new-api-client
Lay groundwork for new Spotify API client
2021-06-28 22:08:50 +02:00
Roderick van Domburg
124e851178
Merge pull request #815 from librespot-org/revert-805-new-api-client
Revert "Lay groundwork for new Spotify API client" squash merge
2021-06-28 21:41:33 +02:00
Roderick van Domburg
a21b3c9f86 Revert "Lay groundwork for new Spotify API client (#805)"
This reverts commit 39bf40bcc7.
2021-06-28 21:34:59 +02:00
Roderick van Domburg
39bf40bcc7
Lay groundwork for new Spotify API client (#805)
Lay groundwork for new Spotify API before removing `spirc`

* Add token provider
* Introduce HTTP client
* Introduce caching `ApResolver` component
* Remove `keymaster` and update example
* Use `PacketType` instead of hex identifiers
* Document new unknown packet 0xb6
2021-06-28 20:58:58 +02:00
Roderick van Domburg
7cd1b7a26a
Merge branch 'dev' into new-api-client 2021-06-26 00:14:20 +02:00
Roderick van Domburg
7d27b94cfb
Document new unknown packet 0xb6 2021-06-25 23:56:17 +02:00
Roderick van Domburg
9082ffa308
Merge branch 'new-api' into new-api-client 2021-06-25 22:39:21 +02:00
Roderick van Domburg
e58934849f
Fix clippy warnings 2021-06-23 21:43:23 +02:00
Roderick van Domburg
aa4cc0bee6
Ignore known but unused packets 2021-06-23 21:26:52 +02:00
Roderick van Domburg
12365ae082
Fix comment 2021-06-22 23:58:35 +02:00
Roderick van Domburg
0703630041
Use PacketType instead of hex identifiers 2021-06-22 23:57:38 +02:00
Roderick van Domburg
4fe1183a80
Fix compilation on Rust 1.48 2021-06-22 21:54:50 +02:00
Roderick van Domburg
d3074f597a
Remove keymaster and update example 2021-06-22 21:49:36 +02:00
Roderick van Domburg
3a7843d049
Fix refilling with proxies and a race condition 2021-06-22 21:39:38 +02:00
Roderick van Domburg
eee79f2a1e
Introduce caching ApResolver component 2021-06-21 23:49:37 +02:00
Roderick van Domburg
b6357a27a5
Store token_type and simplify scopes argument 2021-06-21 23:48:53 +02:00
Roderick van Domburg
15628842af
Introduce HTTP client 2021-06-20 23:09:27 +02:00
Roderick van Domburg
ce4f8dc288
Remove superfluous status check 2021-06-20 20:45:15 +02:00
Roderick van Domburg
e1e265179f
Document known token scopes 2021-06-20 20:40:33 +02: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
850db43254
Add token provider 2021-06-19 23:46:48 +02: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
Roderick van Domburg
113ac94c07
Update protobufs (#796)
* Import Spotify 1.1.61.583 (Windows) protobufs
* Import Spotify 1.1.33.569 protobufs missing in 1.1.61.583
* Remove unused protobufs, no longer present in 1.1.61.583
2021-06-19 22:29:48 +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
6244515879
Resolve dealer and spclient access points (#795) 2021-06-10 22:24:40 +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