Commit graph

229 commits

Author SHA1 Message Date
fossedihelm
ac39da6c97 check if argument of initial-value is in the [0,100 range 2017-12-06 15:22:28 +01:00
fossedihelm
1dc99e3a15 check if argument of initial-value is a number 2017-12-06 14:47:46 +01:00
fossedihelm
8313da522b --initial-volume as parameter 2017-12-06 14:37:34 +01:00
Federico Fossemò
9e51977885
reset volume to 50% 2017-12-04 12:16:41 +01:00
Federico Fossemò
c8a2190e9e
default volume to 20% (my config) 2017-12-04 11:37:36 +01:00
Federico Fossemò
20fc764916
default volume to 50% 2017-12-03 18:06:24 +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
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
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
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
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 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
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 Lietar
6a0657fec6 Fix compiling error 2017-02-22 15:32:18 +00:00
Paul Lietar
188958710f Download shannon dependency from crates.io 2017-02-22 14:48:41 +00:00
Paul Lietar
b8e4febb8e main: Fix cache setup 2017-02-22 14:28:09 +00:00
Paul Lietar
d940ed161a Allow switching user accounts at runtime
Fixes #130
2017-02-22 04:18:27 +00:00
Paul Lietar
2853e2230b Force shutdown on second ^C 2017-02-21 23:25:04 +00:00
Paul Lietar
2708aa4fef Merge remote-tracking branch 'origin/master' 2017-02-21 22:46:19 +00:00
Paul Lietar
58b1625445 Use function types instead of closures for backend builders. 2017-02-21 22:05:31 +00:00
Paul Lietar
5974cf7f24 Fixes for PR #148 2017-02-21 21:49:45 +00:00
Paul Lietar
6f1871d822 Merge remote-tracking branch 'origin/master' 2017-02-09 01:33:52 +00:00
Paul Lietar
64f9283b67 Fix Clippy warnings 2017-02-09 01:32:18 +00:00
Paul Lietar
19b06ae5fb Update dependencies.
Rust 1.15 is now required.
2017-02-09 01:27:52 +00:00
Daniel Romero
10f9da410e Remove code to notify spirc manager from the mixer 2017-02-03 17:11:36 +01:00
Daniel Romero
a7aba5c8e7 SoftVolumeMixer: move factor in again, otherwise i32 division always results in 0 2017-02-03 14:19:30 +01:00
Daniel Romero
44467a44d6 Call start and stop on mixer 2017-02-03 13:30:30 +01:00
Daniel Romero
5ef28bf2a5 SpircManager: Update state from player and mixer before sending info 2017-02-03 13:22:49 +01:00
Daniel Romero
ec0e81f0ae Add documentation for channel macro 2017-02-03 13:22:49 +01:00
Daniel Romero
2c187eb3ae Avoid copying the data array in the player 2017-02-03 13:22:49 +01:00
Daniel Romero
48a43f4948 Move structs which are send across threads to own module 2017-02-03 13:22:49 +01:00
Daniel Romero
da537b57f4 AudioFilter: Modify fn modify_stream(&self, data: &mut [i16]); 2017-02-03 13:22:49 +01:00
Daniel Romero
2de5d10a2f SoftMixer: Change volume to AtomicUsize and pass AtomicUsize to SoftVolumeApplier 2017-02-03 13:22:49 +01:00
Daniel Romero
134239d298 Send update messages from mixer to SpircManager 2017-02-03 13:22:49 +01:00
Daniel Romero
c8ee08663d Create channel in spirc instead of in mercury and use MercuryResponseSender implemented by macro 2017-02-03 13:22:49 +01:00