eladyn
4d402e690c
add session timeout handling ( #1129 )
2023-06-01 21:39:35 +02:00
Christian König
d8547f176c
Update quick-xml
...
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-04-14 09:41:58 +02:00
Roderick van Domburg
6dc7a11b09
Re-introduce autoplay
command-line option as an override
2022-09-28 22:59:03 +02: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
16dbade516
Try another access point if so instructed
2022-08-29 23:51:29 +02:00
Roderick van Domburg
dbf71c0dff
Move mostly harmless messages to debug level
2022-08-25 20:49:40 +02:00
Roderick van Domburg
5344258ba9
Relax some non-fatal events to WARN level
...
Fixes #1029
2022-07-30 22:39:05 +02:00
Roderick van Domburg
05b9b13cf8
Merge branch 'dev' into new-api and update crates
2022-07-27 23:31:11 +02:00
Louis Seubert
6c2491b9a3
adding callback for reusable credentials ( #983 )
...
This allows more control over how the credentials are saved to the cache
2022-05-20 12:53:44 +02:00
Roderick van Domburg
0822af0328
Use configured client ID on initial connection ( fixes #941 )
2022-01-22 21:17:55 +01:00
Roderick van Domburg
8851951f04
Change counting to spirc
and player
...
They can be reinstantiated, unlike the `session` which is now
intended to be constructed once.
2022-01-16 21:29:59 +01:00
Roderick van Domburg
abbc3bade8
Register message listeners before connecting
2022-01-16 01:14:00 +01:00
Roderick van Domburg
32df4a401d
Add configurable client ID and listen for updates
2022-01-12 22:09:57 +01:00
Roderick van Domburg
1a7c440bd7
Improve lock ordering and contention
2022-01-05 20:44:08 +01:00
Roderick van Domburg
2af34fc674
Add product metrics to requests
2021-12-30 22:36:38 +01:00
Roderick van Domburg
05c768f612
Add audio preview, image and head file support
2021-12-30 21:35:43 +01:00
Roderick van Domburg
b4f7a9e35e
Change to parking_lot
and remove remaining panics
2021-12-26 23:02:02 +01:00
Roderick van Domburg
62461be1fc
Change panics into Result<_, librespot_core::Error>
2021-12-26 21:18:42 +01:00
Roderick van Domburg
9a93cca562
Get connection ID
2021-12-11 23:06:58 +01:00
Roderick van Domburg
9a31aa0362
Pretty-print trace messages
2021-12-11 20:45:08 +01:00
Roderick van Domburg
e748d543e9
Check availability from the catalogue attribute
2021-12-11 20:22:44 +01:00
Roderick van Domburg
9a0d2390b7
Get user attributes and updates
2021-12-11 00:03:35 +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
Roderick van Domburg
aa4cc0bee6
Ignore known but unused packets
2021-06-23 21:26:52 +02:00
Roderick van Domburg
0703630041
Use PacketType
instead of hex identifiers
2021-06-22 23:57:38 +02:00
Roderick van Domburg
eee79f2a1e
Introduce caching ApResolver
component
2021-06-21 23:49:37 +02:00
Roderick van Domburg
15628842af
Introduce HTTP client
2021-06-20 23:09:27 +02:00
Roderick van Domburg
850db43254
Add token provider
2021-06-19 23:46:48 +02:00
Roderick van Domburg
6244515879
Resolve dealer
and spclient
access points ( #795 )
2021-06-10 22:24:40 +02:00
johannesd3
1ade02b7ad
Add basic websocket support
2021-05-26 16:51:13 +02:00
johannesd3
7d6267c0a2
Use ready macro to reduce boilerplate
2021-04-17 12:23:24 +02:00
johannesd3
4c2fc61d64
Better joining of session tasks
2021-04-12 22:54:32 +02:00
johannesd3
95fedf5357
Add back hyper-proxy
2021-03-27 15:36:33 +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
007e653f3d
Restore original blocking player behaviour
2021-02-21 17:04:44 +01:00
johannesd3
872fab62d8
Merge branch 'dev' into tokio_migration
2021-02-10 21:51:33 +01:00
Alexandre Trendel
71e9295ee8
fix: map authentication errors to a custom error type
2021-02-05 14:26:32 +01:00
johannesd3
40e6355c34
Migrate core to tokio 1.0
2021-01-25 09:04:33 +01:00
Sasha Hilton
e9c3357e41
Run cargo fmt
2020-01-24 02:26:16 +01:00
Sasha Hilton
cdcb919c08
Merge branch 'dev' into connection-lost-crash
2020-01-24 01:02:40 +01:00
Konstantin Seiler
ea1e0925dc
Enable proper shutdown of the channels.
2020-01-23 01:23:34 +11:00
Konstantin Seiler
3fe3849588
Enable Mercury to be shut down and all pending requests being cancelled.
2020-01-23 01:14:43 +11:00
Konstantin Seiler
b6c676ad60
Prevent librespot from panicking if server connection is lost.
2020-01-22 21:55:45 +11: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
George Hahn
6e280b3c88
Upgrade dependencies
2019-07-17 22:08:15 -05:00
Michael Edwards
9b4ede086a
Server time delta is a signed integer
...
Fixes #322
2019-03-26 21:45:23 +01:00
devgianlu
dc9b2de314
Fixed issue with time alignment
2019-03-24 07:15:14 -07:00
Harold
4fb3d5f271
Add ap-port option to specify preferred port
2018-07-03 13:09:22 +02:00