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
Paul Lietar
7401fde7fc
Update dependencies
2016-01-13 00:17:05 +00:00
herrernst
2372447d23
change binary name
...
cargo can install directly from github, use
`cargo install --git https://github.com/plietar/librespot `
binary is put to ~/.cargo/bin/
2016-01-03 22:50:41 +01:00
Paul Lietar
38351c9a87
Make dns-sd optional
2016-01-02 02:28:54 +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
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
Tor Arne Vestbø
cbd414853f
Move librespot into lib.rs and let main.rs be the test binary
2015-07-08 23:01:14 +02:00
Paul Lietar
e452abce43
Cache audio files to disk.
2015-07-07 22:40:31 +01: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
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
a993b60ffa
Initial commit.
2015-04-25 21:32:07 +01:00