Commit graph

167 commits

Author SHA1 Message Date
Sasha Hilton
03b62052ba More exact dependencies for crates.io 2019-11-06 16:44:11 +01:00
ashthespy
a1763b75c0 Disable regex feature of env_logger 2019-11-06 14:48: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
Tristan Stenner
37eca2fab3 Update env_logger to 0.6 2019-05-03 07:40:13 +02:00
Mateusz Kijowski
52c5b18825 add SDL backend based on sdl2 crate 2019-03-22 02:05:30 +01:00
Sasha Hilton
e606ace6d4
Merge branch 'master' into master 2019-03-20 15:58:05 +01:00
Will Stott
f1be5085ad Make rodio backend the default 2019-03-20 13:24:07 +00:00
Will Stott
2c2bfc52ac Cpal -> Rodio
Doesn't work that well.
2019-03-20 13:24:03 +00:00
Will Stott
891298171c Initial untested VecDeque concept. 2019-03-20 13:16:29 +00:00
Michael Edwards
0bbca1d8bc Use serde 1.0 2019-03-20 12:04:24 +01:00
Artyom Pavlov
391b9c69c4
Merge branch 'master' into master 2019-03-15 16:32:54 +00: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
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
newpavlov
e4677027d2 replace rust-crypto's hashes, HMAC and PBKDF2 2018-07-23 16:41:39 +03: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
awiouy
15909613e9 connect: dispose of protobuf_macros 2018-02-16 22:43:57 +01:00
Sasha Hilton
234958672f Implement [replace] for rust-crypto 2018-02-12 14:48:39 +01:00
awiouy
d900134114 connect: discovery and spirc 2018-02-11 23:55:41 +01:00
Sasha Hilton
4f605dfd86 Correct feature flags 2018-02-09 02:14:11 +01:00
Sasha Hilton
1fb65354b0 Move audio backends into seperate crate 2018-02-09 02:05:50 +01:00
Sasha Hilton
bd59ded224
Merge pull request #124 from awiouy/lewton_as_default
Set lewton_decoder as default, libvorbis_decoder as optional. Wiki also updated.
2018-02-09 00:51:26 +01:00
awiouy
e3516ebd9b Move discovery to its own module. 2018-02-08 04:03:53 +01:00
awiouy
f400a894bc lewton_decoder becomes default, libvorbis_decoder optional 2018-02-08 00:24:57 +01:00
Sasha Hilton
b22f252abd
Add missing " 2018-02-02 05:14:00 +01:00
Sasha Hilton
407e23b311
Merge branch 'master' into jackaudio 2018-02-02 05:12:36 +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
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
loblik
adeb22b2f3 add support for jack audio connection kit
This is initial support for JACK. It creates ports at startup and
keeps it connected while librespot is running. So when librespot
playback is stoped it writes silence (zeroes).

It uses jack crate (rust-jack) which needs libjack. To compile in
jack support use --features jackaudio-backend. And run librespot
with --backend jackaudio.
2017-10-05 21:06:51 +02: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
Fabian Zaremba
910974e5e2 Change system_information_string according to request from Spotify (#218)
Spotify requested us to use a system_information_string that looks like
librespot_[short sha]_[random 8 characters build id]
2017-07-17 14:31:06 +02:00
Shane
c070f6b0db Rust-Crypto fix for Intel "Westmere" CPU's (#208)
See https://github.com/DaGenix/rust-crypto/issues/390 for details.
2017-06-29 15:45:53 +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
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
2708aa4fef Merge remote-tracking branch 'origin/master' 2017-02-21 22:46:19 +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
f5a4feeb90 Add Dockerfile for cross compilation 2017-02-16 21:38:48 +00:00
Paul Lietar
19b06ae5fb Update dependencies.
Rust 1.15 is now required.
2017-02-09 01:27:52 +00:00
Jonathan Nilsson
b7607047b1 Allow building of the documentation with cargo doc 2017-01-30 11:54:54 +01: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
9a8957169f Merge pull request #139 from herrernst/systemd-unit
add basic systemd service unit example
2017-01-04 21:57:22 +01:00
Paul Lietar
baf2b65d7b Use rustls rather than openssl 2016-12-31 14:49:04 +01:00
Paul Lietar
9c3541c41b Change the stdout backend to work with arbitrary files. 2016-12-31 13:17:06 +01:00
Paul Lietar
512304c6c3 Merge remote-tracking branch 'badaix/master' 2016-12-31 13:04:14 +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
herrernst
b9eb4de090 add basic systemd service unit example
put to /etc/systemd/system/librespot.service and then do `systemctl daemon-reload`
2016-12-30 16:59:18 +01:00
badaix
383e0e9ae8 added stdout-backend 2016-11-22 15:31:59 +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
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
herrernst
58d24e2744 add some fields to Cargo manifest so debian package can be build easily with cargo-deb 2016-08-08 20:25:18 +02:00
Demur Rumed
674146f52a Replace time with std::time 2016-07-17 03:25:29 +00:00
Paul Lietar
4cca541339 Remove the need for a application key. 2016-07-06 08:37:41 +01: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
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
Marcus Thiesen
b0ea636179 Replace some more println with log 2016-04-23 13:35:00 +02: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
Paul Lietar
45e03c42a4 Enable PortAudio backend by default. 2016-03-21 15:39:48 +00:00
Marcus Thiesen
5ca2c35dbc Pulseaudio backend 2016-03-21 09:39:58 +01:00
Paul Lietar
968a39a131 Make audio backend configurable at run time. 2016-03-20 16:16:20 +00: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
03634e0149 Add optional clippy dependency. 2016-03-16 00:23:17 +00:00
Paul Lietar
4b4bc2f4e1 Add Facebook based login. 2016-03-16 00:05:05 +00:00
Paul Lietar
aa1d466e92 Support building with the application key statically included in the binary. 2016-03-14 23:41:51 +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
d27c4ca752 Support building with rust stable, using syntex. 2016-03-07 18:22:41 +00:00
Paul Lietar
cf2e9bb7c3 Make dns-sd opt in rather than opt out. 2016-01-20 13:35:02 +00:00
psych0d0g
c5644f8b72 bump rpassword version
depend on 0.1.1 (added build dependencies on rpassword for the mips and mipsel architectures)
2016-01-14 13:58:04 +01:00