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
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
Daniel Romero
37916330b4
Add macro to be able to create wrapped senders to send multiple message types to one channel
2017-02-03 13:22:49 +01:00
Daniel Romero
e547a0c3da
Changes code review
2017-02-03 13:22:49 +01:00
Daniel Romero
636de3fe71
Use stream_editor in player
2017-02-03 13:22:49 +01:00
Daniel Romero
6df2af0ac9
Select mixer dynamically
2017-02-03 13:22:49 +01:00
Daniel Romero
464e85e285
Split mixer into Mixer and StreamEditor
2017-02-03 13:22:49 +01:00