Paul Lietar
bbc438d9b2
Clippy run
2017-01-29 17:20:12 +00:00
Paul Lietar
17482c236a
Stop caching audio keys, reenable audio file cache
2017-01-29 15:36:39 +00:00
Paul Lietar
bcedfefaa9
Move spirc to tokio
2017-01-20 13:28:13 +00:00
Paul Lietar
d62a154786
Move session to tokio over fully
2017-01-20 02:40:07 +00:00
Paul Lietar
379c90c0b2
Move audio_file and channels to tokio
2017-01-20 01:59:47 +00:00
Paul Lietar
05118b40f8
Move MetadataManager to use tokio
2017-01-20 01:59:47 +00:00
Paul Lietar
bcbd7afb1a
Change mercury to use tokio
2017-01-20 01:59:47 +00:00
Paul Lietar
855a7e87a7
Move AudioKeyManager to tokio
2017-01-20 01:59:47 +00:00
Paul Lietar
d27063d5da
Create event loop in main
2017-01-20 01:59:46 +00:00
Paul Lietar
2a0ccc0d1d
Move device id into config
2017-01-20 01:59:46 +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
aa499e0189
Get rid of main_helper
2017-01-10 16:31:12 +00:00
Simon Persson
f11310581c
Add standard traits to Bitrate.
2017-01-06 17:09:57 +01:00
Simon Persson
28aed0d18b
Give Bitrate copy semantics.
...
For such a simple type, which will likely never change
to be un-copyable, it's nicer to have copy semantics.
2017-01-06 12:56:34 +01:00
Paul Lietar
7fd8503f45
Use the fallback AP when apresolve fails.
...
This matches the desktop client’s behaviour.
Fixes #136
2016-12-30 12:02:00 +01:00
Jörg Krause
1d3c387fed
Add --on{start,stop} command line option
...
The --onstart and --onstop command line options can be used to run a
program when the audio playback is about to begin or has ended.
Note, that librespot needs executions rights to run the program.
Furthermore, the full path needs to be specified, e.g.
`/usr/bin/logger`. Executable scripts must begin with a shebang, e.g.
`#!/bin/sh`.
2016-09-08 20:52:21 +02:00
Paul Lietar
4cca541339
Remove the need for a application key.
2016-07-06 08:37:41 +01:00
Paul Lietar
4d277e5b75
stream: refactor into a reactor pattern.
2016-05-09 12:22:51 +01:00
Paul Lietar
a36325a46a
Add a main helper to make it easier to use librespot.
2016-04-24 13:29:26 +01:00
Marcus Thiesen
b0ea636179
Replace some more println with log
2016-04-23 13:35:00 +02:00
Paul Lietar
230c891df0
Print librespot version on startup.
2016-03-17 03:31: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
4d712efb48
Support downloading Album Covers.
2016-03-15 00:14:30 +00:00
Paul Lietar
a5453de572
Make cache directory optional.
...
If the -c argument is omitted, librespot will run without a cache, and
download tracks overtime they are played.
2016-03-14 22:57:00 +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
39af43728a
Refactor authentication to separate protocol and token generation.
2016-03-13 20:45:31 +00:00
Paul Lietar
327bb8477e
Move Session::connect to authentication.rs
2016-01-26 23:02:17 +00:00
Paul Lietar
7a1db5f5a9
Encapsulate the session data and configuration.
2016-01-26 22:34:57 +00:00
Paul Lietar
90eeed3f80
rustfmt
2016-01-02 16:20:35 +01:00
Paul Lietar
f8956166ea
Add option to specify bitrate.
2016-01-02 03:30:24 +01:00
Paul Lietar
bead9daf78
Add zeroconf based authentication.
2016-01-02 00:27:08 +01:00
Jaime Rodriguez
e321379501
Use canonical username when subscribing to spirc.
...
Uses canonical username that APWelcome message
contains once authenticated instead of username
provided by user. SpircManager now accesses it via
its Session field.
Fixes #15
2015-12-30 20:11:46 +01:00
Paul Lietar
654a403459
Improve handling of missing audio keys by failing the future rather than crashing.
2015-12-29 23:12:02 +01:00
Paul Lietar
8c2aa28d43
Use the correct country when checking for track availability.
2015-12-29 13:13:26 +01:00
Paul Lietar
267ccbe65e
Fix build on latest rust.
2015-09-01 13:20:37 +02: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
2a2f227bef
Refactor the whole architecture.
...
Use less threads, makes it much simpler to reason about.
2015-07-02 19:24:25 +02:00
Paul Lietar
df11960946
spirc: Don’t hardcode stuff
2015-07-02 01:27:19 +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