Commit graph

31 commits

Author SHA1 Message Date
Lukáš Tyrychtr
3662302196
Update protobuf and related crates to 3.x (#1092) 2023-01-17 21:46:14 +01:00
Guillaume Desmottes
7f2cb684c9 fix clippy warnings 2023-01-03 00:36:35 +01:00
JasonLG1979
8545f361c4 Major Events Overhaul
Special thanks to @eladyn for all of their help and suggestions.

* Add all player events to `player_event_handler.rs`

* Move event handler code to `player_event_handler.rs`

* Add session events

* Clean up and de-noise events and event firing

* Added metadata support via a TrackChanged event

* Add `event_handler_example.py`

* Handle invalid track start positions by just starting the track from the beginning

* Add repeat support to `spirc.rs`

* Add `disconnect`, `set_position_ms` and `set_volume` to `spirc.rs`

* Set `PlayStatus` to the correct value when Player is loading to avoid blanking out the controls when `self.play_status` is `LoadingPlay` or `LoadingPause` in `spirc.rs`

* Handle attempts to play local files better by basically ignoring attempts to load them in `handle_remote_update` in `spirc.rs`

* Add an event worker thread that runs async to the main thread(s) but sync to itself to prevent potential data races for event consumers.

* Get rid of (probably harmless) `.unwrap()` in `main.rs`

* Ensure that events are emited in a logical order and at logical times

* Handle invalid and disappearing devices better

* Ignore SpircCommands unless we're active with the exception of ShutDown
2022-09-17 16:21:10 -05:00
Roderick van Domburg
05b9b13cf8
Merge branch 'dev' into new-api and update crates 2022-07-27 23:31:11 +02:00
Roderick van Domburg
44860f4738
Remove assertions for what we know works well 2022-01-25 20:58:39 +01:00
Roderick van Domburg
89a5133bd7
Upgrade aes-ctr to latest aes 2022-01-08 20:51:51 +01:00
Roderick van Domburg
9b6e02fa0d
Prevent a few potential panics 2021-12-29 23:15:08 +01:00
Roderick van Domburg
62461be1fc
Change panics into Result<_, librespot_core::Error> 2021-12-26 21:18:42 +01:00
johannesd3
14c1779056
Adjust arg types of Credentials::with_blob
... to avoid redundant utf-8 checking
2021-05-26 21:52:36 +02:00
johannesd3
11ce29077e Fix formatting 2021-04-09 10:45:48 +02:00
ThouCheese
ec1ec59b8a update examples
Re-add default impl to SessionConfig and make Credentials::with_password generic over Into<String>

add docs for Credential

reintroduce old Default impl for SessionConfig

use the third argument for the track-to-play rather than a testing id
2021-03-24 01:14:44 +01:00
Evan Cameron
6a33eb4efa
minor cleanup 2021-02-28 21:54:19 -05:00
johannesd3
27f308b82f Replace error_chain by thiserror 2021-02-23 22:22:52 +01:00
johannesd3
10827bd6a8 Clean up dependencies of librespot-core
* Use sub-crates of future
* Remove unnecessary pin-project
* Removed unused crates and features
* Replace futures channels by tokio channels
* Use serde's "derive" feature flag instead of serde_derive
2021-02-23 22:22:51 +01:00
johannesd3
9253be7bc9 Small refactor of librespot-core
* Remove default impl for `SessionConfig`
* Move util mod to single file
* Restore privacy of mods
* Move `fn get_credentials` to application
* Remove `extern crate` statements
2021-02-23 22:22:51 +01:00
johannesd3
34733baa75 Bump crypto crates 2021-02-13 19:10:57 +01:00
Sasha Hilton
84ba421818
Merge pull request #566 from xou816/fix/map-auth-errors
fix: map authentication errors to a custom error type
2021-02-06 02:54:11 +00:00
Alexandre Trendel
71e9295ee8 fix: map authentication errors to a custom error type 2021-02-05 14:26:32 +01:00
johannesd3
14a004f84c Refactored Cache
Proper error handling, and moving the conversion between
{ credentials, volume } and file into the cache module
2021-01-25 10:47:42 +01:00
ashthespy
d26590afc5
Update to Rust 2018
- Fix deprecated Error::cause warnings and missing dyn
- Reset max_width
- Add rustfmt to Travis
- Run rustfmt on full codebase
 with `cargo fmt --all`
- Add rustfmt to Travis
- Complete migration to edition 2018
- Replace try! shorthand
- Use explicit `dyn Trait`
2020-01-17 18:11:52 +01:00
Michael Edwards
b7a2aad17d Add credentials field alias
`encoded_auth_blob` is used in the credentials response of the Facebook auth flow
2019-03-20 21:17:23 +01:00
Michael Edwards
0bbca1d8bc Use serde 1.0 2019-03-20 12:04:24 +01:00
Артём Павлов [Artyom Pavlov]
72589443c7 update Cargo.lock, use constant time equality check, remove block-modes 2019-03-16 18:30:10 +03:00
newpavlov
e4677027d2 replace rust-crypto's hashes, HMAC and PBKDF2 2018-07-23 16:41:39 +03:00
Johan Anderholm
612978908f Reformat according to new rustfmt rules 2018-03-24 08:45:43 +00:00
Sasha Hilton
0abad9a8f8 Add custom SpotifyIdError type 2018-02-25 15:47:57 +01:00
Sasha Hilton
084646e21b Use prompt for password in main.rs 2018-02-25 05:40:00 +01:00
awiouy
c9ba73c9ef rustfmt: core 2018-02-11 12:37:08 +01:00
awiouy
a105fd44c4 core API: save_to_file, save_to_writer 2018-02-09 21:24:58 +01:00
awiouy
c86f790986 core API: from_file, from_reader 2018-02-09 21:18:06 +01:00
Paul Lietar
bf60f6e7ab Create new librespot-core crate 2017-08-03 19:58:44 +01:00
Renamed from src/authentication/mod.rs (Browse further)