Commit graph

617 commits

Author SHA1 Message Date
Nick Steel 628df27292 Support for enabling shuffle. 2017-11-03 01:15:27 +00:00
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