Commit graph

233 commits

Author SHA1 Message Date
Will Stott
97f61ec2a8 Protobuf 2.4.0, generate all proto files every time, but only write when changed, supporting poor souls with crlf line ending conversion.
Drop Regex dependency, just parse using simple string methods.

Protobuf 2.4.0, generate all proto files every time, but only write when changed, supporting poor souls with crlf line ending conversion.
2019-09-08 13:07:59 +01:00
Tristan Stenner
9d97f8f1ce Automatic update to protobuf 2.8, regenerate protocol files 2019-07-27 19:30:48 +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
Tristan Stenner
37eca2fab3 Update env_logger to 0.6 2019-05-03 07:40:13 +02:00
Tristan Stenner
9e68a29c70 Run cargo update 2019-05-02 18:31:46 +02:00
Sasha Hilton
6c4311fe72
Merge pull request #283 from matikij/sdl-backend
add SDL backend based on sdl2 crate
2019-04-12 05:43:52 +02: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
ashthespy
9f9218f3cc Remove redundant rpassword crate from librespot-core 2019-03-26 18:07:05 +01:00
Mateusz Kijowski
52c5b18825 add SDL backend based on sdl2 crate 2019-03-22 02:05:30 +01:00
ashthespy
0e1147077c Add run time option flags for AlsaMixer
Add `Cargo.lock` for Travis
2019-03-22 00:00:57 +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
Sasha Hilton
d26153a307 Fix Cargo.lock 2019-03-20 16:14:52 +01:00
Sasha Hilton
e606ace6d4
Merge branch 'master' into master 2019-03-20 15:58:05 +01:00
Will Stott
3548917914 Update Cargo.lock with successful windows build. 2019-03-20 13:30:10 +00: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
ashthespy
06c6969e25 Switch to protobuf-codegen-pure to remove protoc dependency 2019-03-13 23:54:53 +01:00
Tristan Stenner
113fed5c42 Update rand to 0.6 2019-02-12 08:02:44 +01:00
Tristan Stenner
b320c4b2af Run cargo update 2019-02-05 20:08:02 +01:00
newpavlov
54974d8bd0 update Cargo.lock 2018-12-06 12:58:40 +03:00
newpavlov
4bd0fc8b36 update aes-ctr to 0.3 2018-12-06 12:49:23 +03:00
newpavlov
57065620ef update deps 2018-12-06 12:39:41 +03:00
Artyom Pavlov
772591576a
Merge branch 'master' into master 2018-12-06 09:38:33 +00:00
awiouy
7cbf6d173b update lewton to 0.9.3 2018-11-01 14:03:51 +01:00
Sasha Hilton
d12640fb47
Merge pull request #251 from ashthespy/master
Update protobuf
2018-10-31 03:07:55 +00:00
William R. Fraser
9fa138a116 implement using tokio-process instead 2018-10-16 02:34:56 -07: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
1f1cd116e7 aes-ctr 2018-07-30 14:18:43 +03:00
newpavlov
e4677027d2 replace rust-crypto's hashes, HMAC and PBKDF2 2018-07-23 16:41:39 +03:00
Sasha Hilton
b86ffa9e7c Update Cargo versions 2018-04-30 16:12:13 +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
Sasha Hilton
a7334b6c23 Add to_base62 method 2018-02-28 13:28:57 +01:00
Sasha Hilton
f8db550e5e Add volume normalisation support 2018-02-23 20:08:20 +01:00
awiouy
15909613e9 connect: dispose of protobuf_macros 2018-02-16 22:43:57 +01:00
Sasha Hilton
67dabcdd8e Enable backtrace on all builds 2018-02-13 14:02:37 +01:00
Anton Voyl
e276d39704 core: remove protobuf_macros (#146)
Fixes #129
2018-02-12 15:58:09 +01:00
Sasha Hilton
90ae9d713d Fix conflicts from PR #143 2018-02-12 01:12:02 +01:00
awiouy
d900134114 connect: discovery and spirc 2018-02-11 23:55:41 +01:00
Sasha Hilton
1fb65354b0 Move audio backends into seperate crate 2018-02-09 02:05:50 +01:00
awiouy
99e7da562d lewton: handle OggError(NoCapturePatternFound) 2018-02-07 18:25:21 +01:00
Sasha Hilton
ccbaff267e Re-add serde_derive 2018-02-06 20:26:37 +01:00
Sasha Hilton
6a442a4570 Move keymaster to core 2018-02-06 19:54:28 +01:00
Sasha Hilton
d923f3bad3 Add with-dns-sd feature flag 2018-01-31 12:00:53 +01:00
Thomas Bächler
d36017d6f0 Remove usage of deprecated tokio_core::io 2018-01-25 23:23:45 +01:00
Thomas Bächler
0bdf9aa080 Update all dependencies 2018-01-25 23:23:45 +01:00
Thomas Bächler
f5d8019c18 Add proper error handling to the pulseaudio backend and ensure that no invalid pointers are passed to pulseaudio 2017-12-17 23:28:42 +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
ec8f80df75 Create new librespot-audio crate 2017-08-03 20:37:04 +01:00
Paul Lietar
a51b562487 Create new librespot-metadata crate 2017-08-03 20:11:17 +01:00
Paul Lietar
bf60f6e7ab Create new librespot-core crate 2017-08-03 19:58:44 +01:00
Paul Lietar
72070b6ce0 Allow device type to be chosen.
Fix #187
2017-08-03 19:31:15 +01:00
Paul Lietar
28232b5a52 Add keymaster API 2017-05-10 16:26:48 +01:00
Johan Anderholm
e60cdeafca hyper::Url -> hyper::Uri, portaudio -> portaudio-rs
hyper::Url is replaced by hyper::Uri in recent hyper versions.

portaudio was renamed to portaudio-rs and added to cargo.io
2017-04-29 13:06:29 +02:00
Paul Lietar
294a7821d6 Add simple playback example. 2017-04-28 23:24:55 +01:00
Johan Anderholm
6daedde0e9 Add mipsel as a cross-compilation target. 2017-03-05 04:17:43 -08:00
Paul Lietar
188958710f Download shannon dependency from crates.io 2017-02-22 14:48:41 +00:00
Paul Lietar
541114e2b4 build: only rerun syntex when relevant files have changed 2017-02-22 14:27:54 +00:00
Paul Lietar
d940ed161a Allow switching user accounts at runtime
Fixes #130
2017-02-22 04:18:27 +00:00
Paul Lietar
6d00f08d1f Don’t use backtrace library.
It causes problems when crosscompiling
2017-02-21 22:08:42 +00:00
Paul Lietar
19b06ae5fb Update dependencies.
Rust 1.15 is now required.
2017-02-09 01:27:52 +00:00
Paul Lietar
17482c236a Stop caching audio keys, reenable audio file cache 2017-01-29 15:36:39 +00:00
Paul Lietar
f3ba3f4bd4 Update dependencies 2017-01-29 12:50:18 +00:00
Paul Lietar
379c90c0b2 Move audio_file and channels to tokio 2017-01-20 01:59:47 +00:00
Paul Lietar
9de55bb8cd Move ap resolve and discovery to tokio. 2017-01-20 01:59:46 +00:00
Paul Lietar
9d5e2e9fed Rewrite connection layer to use tokio 2017-01-20 01:59:46 +00:00
Paul Lietar
e254bb7291 Remove support for Facebook authentication. 2017-01-05 14:40:33 +01:00
Paul Lietar
baf2b65d7b Use rustls rather than openssl 2016-12-31 14:49:04 +01:00
Paul Lietar
8544faf75d Only use syntex on modules that need it.
Also updated dependencies.

Fixes #133 and #138
2016-12-31 12:51:44 +01:00
Paul Lietar
c6327af2f3 Include pre-generated protocol files.
A build script is used to ensure the source files haven’t been modified.
2016-12-30 12:02:00 +01:00
silvester
e3aa14c839 use ssl 2016-10-26 13:22:22 +02:00
Jörg Krause
c1e570f48d Say goodbye when terminating
When librespot is terminated while a session is active it will now send
a goodbye message, so that the Spotify client unregisters the device
from its list.

Closes: #114
2016-09-20 21:00:01 +02:00
Jörg Krause
b153de93d1 Update dependencies 2016-09-16 14:03:54 +02:00
Paul Lietar
445171a46a Add ALSA backend
Closes: #63
2016-08-27 20:14:11 +02:00
herrernst
704c89a8a7 update lmdb-rs dependency 2016-08-08 21:50:05 +02:00
Alain Boyer
82af7a3d71 Specify suggested_latency from device info.
- Update portaudio dependency.
- Pass default_high_output_latency to ensure robust playback.
- This is the same behavior as when previously using Stream::open_default().
2016-07-23 01:39:41 +03:00
Jörg Krause
1c973adaae Update dependency tremor 2016-07-20 21:24:37 +02:00
Paul Lietar
b25585a41b Use a pure rust mDNS responder instead of relying on Avahi / dns-sd.
Fixes #33, #70
2016-07-06 02:36:01 +01:00
Paul Lietar
24471eef9b Use serde for json serialization. 2016-07-06 02:29:38 +01:00
Paul Lietar
facd6c5881 Update dependencies.
This removes the direct dependency on syntex, meaning plugins can bump
their own versions independently (see serde-rs/serde#358)
2016-07-06 01:34:20 +01:00
Paul Lietar
ed14c3469b track: Use a linear map to store files by format. 2016-05-04 10:03:46 +01:00
Paul Lietar
ed425292f3 Update to latest nightly 2016-05-04 09:37:09 +01:00
Paul Lietar
dde613e0a0 player: skip unavailable tracks rather than crash
Fixes #74
2016-05-04 09:11:27 +01:00
Paul Lietar
4e9e8bb5ce Downgrade url to 0.5
url 1.0 removed the parse_path API we need.
2016-04-25 15:22:22 +01:00
Paul Lietar
a42752af2f Update dependencies. 2016-04-24 15:40:05 +01:00
Paul Lietar
2a5fd26998 Merge commit 'b0ea636179c771eaecfd52a02b3ad754f598c397' 2016-04-24 09:50:04 +01:00
Paul Lietar
482a93eddb Bump dependencies. 2016-04-23 15:51:12 +01:00
Tor Arne Vestbø
e08ed545ee Use log crate instead of println
Allows more granular control over what gets logged to the console.
2016-04-23 13:35:00 +02:00
Moses Palmér
0df71962c6 Updated dependency eventual
The new version allows the library to be built using rust nightly.
2016-04-17 21:05:18 +02:00
Marcus Thiesen
f587b375e8 Update dependencies 2016-03-21 10:04:18 +01:00
Marcus Thiesen
5ca2c35dbc Pulseaudio backend 2016-03-21 09:39:58 +01:00
Paul Lietar
01fa099cda Reenable Facebook authentication. 2016-03-20 13:55:20 +00:00
Paul Lietar
5639dae42d Update dependencies. 2016-03-20 13:37:40 +00:00
Paul Lietar
b051bfcc5b Disable Facebook authentication for now.
It got broken when moving to the authentication subdirectory.
2016-03-17 03:45:57 +00:00
Paul Lietar
0770f6ce61 Move authentication to a different directory, and make discover use hyper. 2016-03-17 03:28:28 +00:00
Paul Lietar
85903a0da5 Split cache handling to separate module.
Use it for audio keys and album covers as well.
2016-03-16 04:20:42 +00:00
Paul Lietar
4b4bc2f4e1 Add Facebook based login. 2016-03-16 00:05:05 +00:00
Paul Lietar
4b73f83c5e Save reusable credentials to disk.
After the first login, credentials may be omitted from the command line
and the stored ones will be used instead.
2016-03-13 22:35:09 +00:00
Paul Lietar
25bd38fd13 Resolve access point when connecting and pick a random one.
Spotify’s apresolve will return the best AP based on the user’s location.
2016-03-13 20:03:09 +00:00
Paul Lietar
ac5b34927f Support using tremor instead of libvorbis for audio decoding.
Tremor is a fixed point / integer only Vorbis decoder.
This should improve playback performances on embedded platforms lacking
hardware floating point support.
2016-03-13 15:15:15 +00:00
Paul Lietar
6e823ef639 Update README to indicate that rust 1.7.0 is enough. 2016-03-11 13:14:01 +00:00
Paul Lietar
62d3f5e3ad Update dns-sd dependency to get the bug fix. 2016-03-11 12:12:51 +00:00
Paul Lietar
d27c4ca752 Support building with rust stable, using syntex. 2016-03-07 18:22:41 +00:00
Paul Lietar
c3c258dfaf Bump protobuf-macros version and use the simpler string literal syntax 2016-02-22 05:48:58 +00:00
Paul Lietar
fd819845db Bump Cargo.lock to pickup new rust-protobuf-macros. 2016-02-18 03:46:12 +00:00
Paul Lietar
ac0d597e75 Ignore files which don’t have an id.
Fixes #42
2016-01-20 10:37:57 +00:00
Paul Lietar
7401fde7fc Update dependencies 2016-01-13 00:17:05 +00:00
Paul Lietar
3c29d744a9 Use the protobuf_build crate to simplify build process.
Removes external dependency on rust-protobuf, which prevents version
mismatch between the runtime and the compiler.
2016-01-13 00:16:02 +00:00
herrernst
6fd736dde3 update deps to compile (and work) also on arm 2016-01-03 17:12:48 +01:00
Paul Lietar
38351c9a87 Make dns-sd optional 2016-01-02 02:28:54 +01:00
Paul Lietar
0984ad0bf0 Update protobuf-macros 2016-01-02 01:18:07 +01:00
Paul Lietar
bead9daf78 Add zeroconf based authentication. 2016-01-02 00:27:08 +01:00
Paul Lietar
009d4e9019 Bump dependencies. Use eventual from registry again. 2015-12-28 01:44:08 +01:00
Paul Lietar
5cbd53fef2 Update dependencies, use git version of eventual. 2015-12-22 18:05:13 +01:00
Lawrence Jones
85c1925f8d Fixes compilation errors 2015-12-18 19:59:10 +00:00
Paul Lietar
fe56604037 Replace GMP by num’s Bignum implementation.
This is awfully slow in debug builds, but simplifies the build process a
lot.
2015-10-20 11:23:41 +01:00
Paul Lietar
10cc523cfd Update to rust nightly 2015-10-20 11:22:08 +01:00
Paul Lietar
267ccbe65e Fix build on latest rust. 2015-09-01 13:20:37 +02:00
Simon Persson
ef1c86df18 Make command line argument parsing more robust. 2015-07-20 16:31:59 +00:00
Paul Lietar
e452abce43 Cache audio files to disk. 2015-07-07 22:40:31 +01:00
Paul Lietar
9ae452e22d Keep audio files cached in ram. 2015-07-03 02:23:49 +02:00
Paul Lietar
f0bb24d23f Fix build on latest nightly. 2015-07-02 22:00:30 +02:00
Paul Lietar
45491925de Answer to basic Spirc requests. 2015-07-02 00:40:38 +02:00
Paul Lietar
addc1fce22 Update protocol files. 2015-07-01 20:18:00 +02:00
Paul Lietar
7ffe996652 Lots of stuff 2015-06-23 15:38:29 +01:00
Paul Liétar
1ad62e6f18 First working version of protocol handshake.
Key exchange and authentication is functional.
Protocol definition has been moved to separate crate to speed up build time.
Various cleanups. Take login info from command line, rather than hardcoded.
2015-05-09 11:16:43 +01:00
Paul Liétar
15f39607e7 Update deps 2015-05-05 15:47:34 +01:00
Paul Liétar
a993b60ffa Initial commit. 2015-04-25 21:32:07 +01:00