Commit graph

273 commits

Author SHA1 Message Date
Laurent Louf
8fc9ebfa8c Add the option to specify the system cache for credentials and volume files and adapt Cache to use two cache directories instead of one 2020-07-24 23:18:29 +02:00
Sasha Hilton
4a21b5cbeb Fix depreciation warnings
Fixes error description depreciation warnings and removes unnecessary parentheses
2020-07-24 03:32:36 +01:00
Sasha Hilton
cd944035de
Merge pull request #476 from PlusMinus0/fix-utf-username
Fix utf username
2020-07-22 17:22:33 +01:00
Sasha Hilton
68949da7c2 Update version numbers to 0.1.2 2020-07-22 16:53:52 +01:00
Ash
72437bff66
Bump protobuf v2.8.1 -> v~2.14.0 and fix build issues (#485) 2020-07-22 12:47:25 +02:00
PlusMinus0
6f084d7ea5 Fix utf username. 2020-05-12 08:55:08 +02:00
Michael Pivonka
d47cc75dc6 Fixed formatting 2020-03-02 06:36:27 -05:00
Michael Pivonka
8939954bd7 Added to_uri function to spotify_id 2020-03-02 06:29:13 -05:00
Adam Nielsen
036f1f7cec
Make sequences wrap around to avoid overflows
Instead of aborting with an `attempt to add with overflow` error, wrap the sequence around so that it goes back to 0 once it has reached the maximum value for the integer type.  Fixes #437.
2020-02-23 11:27:38 +10:00
Sasha Hilton
6daa2acd0a Update version numbers to 0.1.1 2020-01-30 02:39:41 +01:00
Konstantin Seiler
65d1c1bf8e Proper error handling when connecting to the server. 2020-01-29 09:45:06 +11: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
17821b26aa Rename variable to be in line with existing code. 2020-01-23 19:32:00 +11: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
Konstantin Seiler
362106df62 Fix error handling for closed channel.
fixes #417
2020-01-22 16:58:21 +11:00
marcelbuesing
c9147d31ab
Turn child crates into rust 2018 edition 2020-01-17 20:54:05 +01:00
marcelbuesing
38d82f2dc2
Rerun rustfmt on full codebase 2020-01-17 18:47:30 +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
Sasha Hilton
78bd0a1f7b
Merge pull request #394 from ashthespy/autoplay
Autoplay similar songs when your music ends
2019-12-12 19:04:48 +01:00
Konstantin Seiler
d2d6df0e24 Run cargo fmt for my code. 2019-11-11 18:22:41 +11:00
Konstantin Seiler
e75021b213 Merge remote-tracking branch 'origin/dev' into dynamic-blocks-kdev 2019-11-08 09:23:30 +11:00
Konstantin Seiler
cdb31f79e4 Merge remote-tracking branch 'kaymes/dynamic-blocks' into dynamic-blocks-kdev 2019-11-08 09:20:31 +11:00
Konstantin Seiler
c4e0f15eb3 Tune prefetch, squish bugs. 2019-11-08 08:58:17 +11:00
Konstantin Seiler
6422dcef78 Refine file downloading heuristics to use data rates and ping times everywhere. 2019-11-08 00:02:53 +11:00
Sasha Hilton
63049d9928 Protobuf exact dependency 2019-11-06 16:52:51 +01:00
Sasha Hilton
394320c7b7 Add description and license to Cargo.toml for each crate 2019-11-06 16:50:26 +01:00
Konstantin Seiler
224ec0a04e Remove log message 2019-11-06 14:38:28 +11:00
Konstantin Seiler
9b069effb2 Merge remote-tracking branch 'origin/dev' into dynamic-blocks
Adapt code for the aternative bitrate selection.
2019-11-06 08:10:41 +11:00
ashthespy
b3c9744b29 Add a autoplay option flag 2019-11-05 20:34:43 +01:00
Konstantin Seiler
ba7d058784 Merge remote-tracking branch 'origin/dev' into dynamic-blocks 2019-11-02 08:41:42 +11:00
Konstantin Seiler
6545674a63 Merge remote-tracking branch 'origin/master' into dynamic-blocks 2019-11-02 07:15:23 +11:00
Konstantin Seiler
333fc5010c New file downloading mechanism 2019-11-02 06:46:28 +11:00
ashthespy
b96405af82 Make SpotifyId understand more URI formats 2019-10-30 11:33:17 +01:00
ashthespy
8eb51e9b55 Streamline and refactor Podcast support,
<Metadata>
  Add publisher to `Show`
  Add `ALLOWED` to `PassthroughEnum`
2019-10-30 11:33:17 +01:00
ashthespy
0cb7a3f7c8 WIP: Podcast support 2019-10-30 11:33:17 +01:00
Will Stott
a7243ff8ce Use single fixed-width format! macro for SpotifyId.to_base16 2019-10-22 18:31:45 +01:00
Will Stott
ac1c31b786 Use Rust's built-in unsigned 128 bit integer instead of the extprim crate 2019-10-22 18:28:21 +01:00
Ash
e1e8f60628
Merge pull request #351 from ashthespy/vergen
Bump up vergen (and switch to rustc-env flags)
2019-09-21 16:56:14 +02:00
Tristan Stenner
1ba6e5886a Restrict protobuf updates 2019-07-30 11:00:02 +02:00
ashthespy
2bf694a07b Bump up vergen (and switch to rustc-env flags) 2019-07-24 11:14:20 +02:00
George Hahn
6e280b3c88 Upgrade dependencies 2019-07-17 22:08:15 -05:00
Sasha Hilton
bf7f54a218
Merge pull request #299 from librespot-org/error-source-fix
Fix depreciation warnings, bump Travis version to 1.30.0
2019-04-12 05:40:20 +02:00
Sasha Hilton
df3bea8c25
Merge pull request #324 from ashthespy/bloat
Remove redundant `rpassword` crate from `librespot-core`
2019-04-12 05:38:10 +02:00
Michael Edwards
9b4ede086a Server time delta is a signed integer
Fixes #322
2019-03-26 21:45:23 +01:00
ashthespy
9f9218f3cc Remove redundant rpassword crate from librespot-core 2019-03-26 18:07:05 +01:00
Sasha Hilton
e9b159e9d9
Merge pull request #321 from devgianlu/time-alignment-fix
Fix for time alignment issue
2019-03-25 19:05:06 +01:00
devgianlu
dc9b2de314 Fixed issue with time alignment 2019-03-24 07:15:14 -07: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
Sasha Hilton
1ccf00cfbb
Merge branch 'master' into error-source-fix 2019-03-20 16:48:41 +01:00
Sasha Hilton
fe4b71d76c Fix tokio depreciation warnings 2019-03-20 16:46:44 +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
Artyom Pavlov
391b9c69c4
Merge branch 'master' into master 2019-03-15 16:32:54 +00:00
Sasha Hilton
7f22785f52
Merge pull request #303 from devgianlu/unlock-features-fix
Update version number
2019-03-13 21:59:12 +01:00
Gianlu
4a6d7b921f Updated version number 2019-03-13 21:52:59 +01:00
Tristan Stenner
113fed5c42 Update rand to 0.6 2019-02-12 08:02:44 +01:00
Artyom Pavlov
772591576a
Merge branch 'master' into master 2018-12-06 09:38:33 +00:00
Артём Павлов [Artyom Pavlov]
06266556de
update dependencies 2018-10-15 05:07:58 +03:00
ashthespy
c5fcdfd43c Upgrade protobuf to 2.0 and use protoc-rust to compile proto files 2018-10-03 15:06:44 +02:00
newpavlov
e4677027d2 replace rust-crypto's hashes, HMAC and PBKDF2 2018-07-23 16:41:39 +03:00
Harold
4fb3d5f271 Add ap-port option to specify preferred port 2018-07-03 13:09:22 +02:00
Brice
d40c0f50db Cache volume across restarts (#220)
* create Volume struct for use with Cache

* add "volume" file to Cache

* load cached volume on start, intial overrides cached overrides default

* amend volume_to_mixer function to cache the volume on every change

* pass cache to Spirc and SpircTask so volume_to_mixer has access

* rustfmt changes

* revert volume_to_mixer function and Spirc/SpircTask cache variable

* Volume implements Copy, pass by value instead of reference

* clamp volume to 100 if cached value exceeds limit

* convert Volume to u16 internally, use float and round to convert hex->dec

* convert initial_volume and ConnectConfig.volume to u16 as well

* add cache_volume function to SpircTask

* remove conversion to/from percentage on cached volume

* consolidate device.set_volume, mixer.set_volume, and caching

* streamline intial volume logic
2018-05-17 03:15:17 +02:00
Reinier Balt
870afdb4b6 fix deprecation warning for bytes 2018-04-30 14:28:43 +02:00
Reinier Balt
e6fff8003f remove deprecated and unused import 2018-04-26 09:15:01 +02:00
Reinier Balt
2aea0e8fe6 do not panic on connection reset 2018-04-21 17:46:29 +02:00
Sasha Hilton
96124c5e18 Add 5xx error panic 2018-04-06 02:44:06 +02:00
Johan Anderholm
96a6978016 Update Cargo.lock
librespot now require rust 1.21.0. error_chain is updated to avoid
compilation warnings about unused rustdoc.
2018-03-24 08:45:43 +00:00
Johan Anderholm
3a14e9a6be Validate proxy urls better.
Use the url crate to handle proxies to make sure they conform to a
proper format.
2018-03-24 08:45:43 +00:00
Johan Anderholm
1a04e3b899 Resolve AP through proxy as well 2018-03-24 08:45:43 +00:00
Johan Anderholm
3bdc5e0073 Add support for http proxy
Currently only http proxy (no https) is supported.
2018-03-24 08:45:43 +00:00
Johan Anderholm
612978908f Reformat according to new rustfmt rules 2018-03-24 08:45:43 +00:00
thekr1s
d6b82cd732 revert file mode to original mode 2018-03-14 23:19:49 +01:00
thekr1s
b3966b0e08 Add optional linear volume contol 2018-03-11 11:27:28 +01:00
Sasha Hilton
cbc4ee7554 Add to_base62 method 2018-02-28 13:29:24 +01:00
Sasha Hilton
a7334b6c23 Add to_base62 method 2018-02-28 13:28:57 +01:00
Sasha Hilton
197d80edbf Fix formatting 2018-02-25 16:33:32 +01: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
Sasha Hilton
4fb8c71b0a Set SpotifyId methods to return Result 2018-02-25 03:04:07 +01:00
Anton Voyl
58ea1baa98 Issue 130 (#164)
* Core API: device_id

* Core API: u128
2018-02-24 16:34:04 +01:00
Colm
d0ffb2ecdd
Update for rust format 2018-02-14 04:50:51 +00:00
Sasha Hilton
874cc541de
Merge pull request #138 from librespot-org/authpanic
Add error message to auth failure case
2018-02-13 23:19:05 +01:00
Sasha Hilton
6936825783 [ci skip] Accidentally deleted commit 2018-02-13 15:29:01 +01:00
awiouy
edbe00c62b core API: move StrChunks* to metadata 2018-02-13 08:33:50 +01:00
awiouy
0ed4fb1c68 core API: MercuryManager.request() 2018-02-13 08:24:59 +01:00
awiouy
ea597361ff core API: component.new() 2018-02-13 08:18:49 +01:00
awiouy
4c2b641cad core API: move spotify_id to lib.rs 2018-02-13 07:57:28 +01:00
awiouy
6a9084b00c core API: Lazy 2018-02-12 20:20:43 +01:00
awiouy
aed4fe32d8 core API: SessionInternal 2018-02-12 20:13:37 +01:00
awiouy
0fd398e34d core API: SessionData 2018-02-12 20:10:36 +01:00
Anton Voyl
e276d39704 core: remove protobuf_macros (#146)
Fixes #129
2018-02-12 15:58:09 +01:00
Sasha Hilton
234958672f Implement [replace] for rust-crypto 2018-02-12 14:48:39 +01:00
awiouy
191caca518 core API: move Bitrate and PlayerConfig from core to playback 2018-02-11 23:55:41 +01:00
awiouy
c9ba73c9ef rustfmt: core 2018-02-11 12:37:08 +01:00
awiouy
a35edc6af4 core API: move run_program to player.rs 2018-02-10 17:58:15 +01:00
awiouy
496a802248 core API: move subfile.rs to player.rs 2018-02-10 17:58:15 +01:00
awiouy
d7fa1464ff core API: move mkdir_existing to cache.rs 2018-02-10 17:58:15 +01:00
awiouy
77882836ce core API: move now_ms to spirc.rs 2018-02-10 17:58:15 +01:00
awiouy
55f27a9e0a core API: SessionWeak.try_upgrade(), SessionWeak.upgrade() 2018-02-10 17:58:15 +01:00
awiouy
ae85e69aca core API: Session.weak() 2018-02-10 17:58:15 +01:00
awiouy
72cef9a10c core API: Session.config() 2018-02-10 17:58:15 +01:00
awiouy
a8bb696be8 core API: MercurySender::new 2018-02-10 08:23:46 +01:00
awiouy
762b75803b core API: connection 2018-02-09 21:36:18 +01:00
awiouy
4c23803c84 core API: cache.rs 2018-02-09 21:29:29 +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
awiouy
434b824c6e core API: dispatch 2018-02-09 21:06:16 +01:00
awiouy
d34068c5a7 core API: apresolve 2018-02-09 20:57:49 +01:00
Sasha Hilton
6a442a4570 Move keymaster to core 2018-02-06 19:54:28 +01:00
Thomas Bächler
d36017d6f0 Remove usage of deprecated tokio_core::io 2018-01-25 23:23:45 +01:00
Thomas Bächler
630de8c0a9 Use futures::sync::mpsc::UnboundedSender::unbounded_send() instead of the deprecated send() 2018-01-25 23:23:45 +01:00
Thomas Bächler
5237203899 Remove usage of deprecated BoxFuture, BoxStream and BoxSink 2018-01-25 23:23:45 +01:00
Thomas Bächler
644355269e Use futures::sync::oneshot::Sender::send() instead of the deprecated complete() 2018-01-25 23:23:45 +01:00
Thomas Bächler
a1a3a2e772 core: Remove an unneeded use warning 2018-01-22 01:17:52 +01:00
Colm
5302bd1072
Merge pull request #6 from brain0/work
Make librespot more robust against audio failures
2017-12-19 21:46:22 +00:00
Thomas Bächler
35ec580eac Disable the "variable does not need to be mutable" compiler warning in generated code 2017-12-17 23:15:49 +01:00
fossedihelm
8313da522b --initial-volume as parameter 2017-12-06 14:37:34 +01:00
Paul Lietar
3a18d1f91d Update Cargo.lock, use hyper, libpulse-sys and lewton from crates.io. 2017-08-04 05:28:25 +01:00
Paul Lietar
d1447d2bfb Add support for lewton as an Vorbis decoder. 2017-08-04 05:28:25 +01:00
Paul Lietar
bf60f6e7ab Create new librespot-core crate 2017-08-03 19:58:44 +01:00