Paul Lietar
bf60f6e7ab
Create new librespot-core crate
2017-08-03 19:58:44 +01:00
Paul Lietar
d59f3eff81
Remove AudioFileManager and MetadataManager since they are stateless.
2017-08-03 19:37:21 +01:00
Paul Lietar
72070b6ce0
Allow device type to be chosen.
...
Fix #187
2017-08-03 19:31:15 +01:00
Paul Lietar
7ae919b1f7
Skip song if it fails to load
2017-04-29 15:18:16 +01:00
Paul Lietar
294a7821d6
Add simple playback example.
2017-04-28 23:24:55 +01:00
Paul Lietar
d940ed161a
Allow switching user accounts at runtime
...
Fixes #130
2017-02-22 04:18:27 +00:00
Paul Lietar
9873eaf2a0
Better handling of shutdown
2017-01-31 08:21:30 +00:00
Paul Lietar
d2161ff75f
Use EasyBuf instead of copying buffers
2017-01-29 17:54:32 +00:00
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