Commit graph

666 commits

Author SHA1 Message Date
nsteel
5581289351 Added repeat support 2017-10-28 00:24:11 +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
Elad Nava
8971d3aa68 Add note to README about Spotify Premium (#259)
As per https://github.com/plietar/librespot/issues/167#issuecomment-322021960.
2017-10-05 14:54:24 +02:00
Paul Liétar
1e652b1a7e typo 2017-10-03 23:26:56 +02:00
Paul Liétar
171be66fd9 bye bye librespot 2017-10-03 22:53:51 +02:00
Jakob
e109de2001 fix protobuf checksum (#257) 2017-10-02 08:04:16 +03:00
Jakob
030b318a9c fix crash for artists without tracks (closes #103) (#256) 2017-10-01 05:15:19 +03:00
Jakob
696aec33e9 Add album type 'EP' (#255)
* add album type 'EP'

* fix indentation
2017-10-01 01:51:05 +03:00
Paul Lietar
ddfc28f99f Increase required Rust version to 1.17.0.
Some dependencies require it.

Additionally, only build with lewton on >= 1.18
2017-08-04 05:28:25 +01: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
2846d3acfd Fix the play example 2017-08-03 20:11:30 +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
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
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
Paul Lietar
aa86ebf549 Add two new file formats to enumeration
Fixes #212 and #213
2017-07-09 20:01:31 +02:00
michaelherger
67deb07250 Add --disable-audio-cache startup parameter (#204)
Disable caching of downloaded audio files at runtime. Comes in handy when running librespot on a small device with SD card or other small storage.
2017-06-30 07:43:11 +01: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
herrernst
2259188f19 Add note to README that the armhf build won't work on RPi1/Zero (#199)
see e. g. #171
2017-06-13 23:14:21 +01:00
Paul Liétar
d09f469aad Merge pull request #189 from jsopenrb/patch-1
Some tracks might have several `allowed` fields, librespot assumes that all fields must match, otherwise track cannot be played.

This change collects all `allowed` and `forbidden` lists, then does the final check on whole lists at once.
2017-06-10 21:13:07 +01:00
Anton Voyl
d01b7a4736 Add aarch64 as a cross-compilation target (#194) 2017-06-08 12:31:06 +01:00
Sasha Hilton
39012ba05e Note incompatibility of homebrew rust (#192)
Added a brief note advising use of rustup over homebrew due to bugs in the homebrew rust.
2017-06-05 19:06:50 +01:00
Paul Lietar
29d5f794d6 Make Librespot Connect Again ! 2017-06-04 08:56:31 +01:00
Evgeny S
96c199e95a Update metadata.rs
Turns out unreleased tracks can have no forbidden and allowed lists at all, take care of that.
2017-06-03 22:30:04 +03:00
Evgeny S
8bd9174370 Update metadata.rs
Properly check forbidden and allowed lists, skip tracks where allowed list is set but is empty.
2017-06-03 19:55:30 +03:00
Evgeny S
4a17a15a82 Fix #173 (a track cannot be played with librespot)
Some tracks might have several `allowed` fields, librespot assumes that all fields must match, otherwise track cannot be played.
This change collects all `allowed` and `forbidden` lists, then does the final check on whole lists at once.
2017-06-01 13:04:22 +03:00
Paul Lietar
6f24e3b731 Add support for new mercury subscription protocol.
Fixes #185
2017-05-15 23:47:34 +01:00
Paul Lietar
7c237c77df Change Connect mercury URL 2017-05-15 21:55:49 +01:00
Paul Lietar
ba51b8f236 Add more mercury debug 2017-05-15 21:54:43 +01:00
Paul Lietar
28232b5a52 Add keymaster API 2017-05-10 16:26:48 +01:00
Paul Lietar
7ae919b1f7 Skip song if it fails to load 2017-04-29 15:18:16 +01:00
Paul Liétar
30bdcafb7e Merge pull request #180 from Fulkerson/master
hyper::Url -> hyper::Uri, portaudio -> portaudio-rs
2017-04-29 13:23:13 +01:00
Paul Lietar
ded43122a2 Allow deprecated items.
Tokio has moved lots of stuff from tokio-core::io to tokio-io.
2017-04-29 12:56:15 +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
d95c0b3fcd Update protocol files.
Fixes #172
2017-04-13 14:33:28 +02:00
Paul Liétar
d551d194d3 Fix typo in README 2017-03-30 20:15:54 +01:00
Paul Liétar
42c034f2b7 Add note to README about me being busy 2017-03-30 20:09:26 +01:00
Paul Liétar
b015bb8360 Merge pull request #157 from joerg-krause/spirc-add-commands
Handle more commands in Spirc
2017-03-27 10:32:22 +01:00
Jörg Krause
14da5c8f17 spirc: add more commands
Add play, playpause, pause, prev, next, volumeup, and volumedown.

volume up/down is realized in 16 steps.
2017-03-27 08:22:38 +02:00
Paul Liétar
3b6a85e83d Merge pull request #168 from herrernst/travis-rustup-rs
use rustup.rs for travis
2017-03-26 12:48:47 +01:00
herrernst
1f2b37a600 use rustup.rs for travis 2017-03-26 13:24:48 +02:00
Paul Liétar
eb49ff34f1 Merge pull request #159 from Fulkerson/master
Add mipsel as a cross-compilation target.
2017-03-06 14:43:16 +00:00
Johan Anderholm
6daedde0e9 Add mipsel as a cross-compilation target. 2017-03-05 04:17:43 -08:00
Paul Lietar
6a0657fec6 Fix compiling error 2017-02-22 15:32:18 +00:00
Paul Lietar
be6fff8cce README: Update minimum rust version 2017-02-22 15:30:59 +00:00
Paul Lietar
9b781f74b3 Update Dockerfile and README to not use syntex anymore 2017-02-22 15:02:36 +00:00