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
a7559787df
facebook: Use a random, OS-assigned port instead of hardcoded 8001.
2016-03-16 00:38:05 +00:00
Paul Lietar
03634e0149
Add optional clippy dependency.
2016-03-16 00:23:17 +00:00
Paul Lietar
2c88787658
Add Facebook authentication protocol docs.
2016-03-16 00:23:03 +00:00
Paul Lietar
4b4bc2f4e1
Add Facebook based login.
2016-03-16 00:05:05 +00:00
Paul Lietar
4d712efb48
Support downloading Album Covers.
2016-03-15 00:14:30 +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
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
0e911fbb59
Merge pull request #61 from respotify/fix-build
...
Fix build by removing extra parenthesis
2016-03-14 10:35:51 +00:00
Yugo Amaryl
5f5356333d
Fix build by removing extra parenthesis
2016-03-14 06:00:06 +00:00
Paul Lietar
0973469120
Forgot to add some files in previous commit.
2016-03-14 00:50:42 +00:00
Paul Lietar
9274a6bfb3
Refactor audio output to make it more modular.
...
This makes the player less hard coded to portaudio, and easier to
experiment with different backends.
2016-03-14 00:49:21 +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
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
60db12ee9e
Add missing semicolon.
...
Somehow syntex allows this, so it was missed in the previous commit.
2016-03-13 15:23:56 +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
32fe895105
travis: non-verbose build
2016-03-11 13:21:54 +00:00
Paul Lietar
ae4786e976
travis: Only build without syntex on nightly
2016-03-11 13:15:30 +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
5059432090
Add kCommandAcks to CapabilityType enum.
2016-03-06 08:01:44 +00:00
Paul Lietar
ace5d09662
README.md: change instructions to use release builds.
...
On embedded devices (which many people use librespot on), debug builds
are too slow and produce choppy audio.
2016-02-25 22:30:49 +00:00
Paul Lietar
de357e63c9
player: Update the position on pause/play events.
2016-02-24 00:36:19 +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
c700315b30
Fix a deadlock between SpircManager and Player.
...
The player was invoking its observers with the state locked, and the
SpircManager’s registered observer would try to lock it again.
Instead, the observers are invoked with a cloned state, and the SpircManager
avoids locking the state again.
2016-02-22 05:41:37 +00:00
Paul Lietar
95d1dfd774
Make recipient of SpircManager methods non-mut.
...
SpircManager has interior mutability using a Mutex. There’s no need to
make it’s methods take a mut reference.
2016-02-19 00:03:08 +00:00
Paul Lietar
72dc5025c0
Merge remote-tracking branch 'SimonPersson/master'
2016-02-18 23:41:22 +00:00
Simon Persson
3ccb2e2a10
Clean up before merging.
2016-02-19 00:02:41 +01:00
Paul Lietar
fd819845db
Bump Cargo.lock to pickup new rust-protobuf-macros.
2016-02-18 03:46:12 +00:00
Simon Persson
c98ff9bd54
Make SpricManager cloneable to simplify for clients.
2016-02-17 20:53:25 +01:00
Simon Persson
906241b92e
Export the current queue.
2016-02-17 20:53:25 +01:00
Simon Persson
8e0325c297
Add function for sending load comand.
2016-02-17 20:53:25 +01:00
Simon Persson
5e3404137f
Add support for replacing tracks. Make a builder out of send_cmd.
2016-02-17 20:53:21 +01:00
Simon Persson
08cb429a0c
Add functions for sending commands to other clients.
2016-02-17 20:45:01 +01:00
Simon Persson
677173d01b
Export devices.
2016-02-17 20:45:01 +01:00
Simon Persson
5a19d38270
Refactor notify/notify_with_player_state.
2016-02-17 20:45:01 +01:00
Simon Persson
958d0c74d4
Maintain list of connected devices.
2016-02-17 20:44:54 +01:00
Paul Lietar
5a9b139a7f
Intern returned C strings to avoid leaking them.
2016-02-05 21:11:55 +00:00
Paul Lietar
526c54702b
Set the default volume to 100%, and add a fast path to volume control.
2016-02-05 20:54:47 +00:00
Paul Lietar
dfabbe5aa5
Add Blob based authentication
2016-01-27 10:44:15 +00:00
Paul Lietar
93640465dc
Import librespot_protocol as protocol.
2016-01-27 10:40:00 +00:00
Paul Lietar
ae38e60518
Initial C API
2016-01-26 23:21:57 +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
9747bbc470
Add link API.
2016-01-26 22:25:13 +00:00
Paul Lietar
f822031ce3
Expose some more metadata.
2016-01-26 22:24:36 +00:00