Commit graph

199 commits

Author SHA1 Message Date
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 97f6968a2c travis: allow failures on rust nightly 2016-03-18 15:58:44 +00:00
Paul Lietar 423a39dba3 Merge pull request #62 from respotify/build-on-fedora
Add build steps for Fedora systems
2016-03-17 15:22:29 +00:00
Yugo Amaryl 536bbae812 Add build steps for Fedora systems 2016-03-17 13:20:27 +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 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