Commit graph

918 commits

Author SHA1 Message Date
Sean McNamara
c5c455236e Merge 2020-04-06 21:06:40 -04:00
Sean McNamara
a55b226716 Merge https://github.com/librespot-org/librespot into gst1.0-2020 2020-04-06 21:06:26 -04:00
Ash
ef27b4bce3
Disable gapless playback via runtime flag (#444)
* Enable gapless playback via runtime flag

* Set gapless playback as default, use `--disable-gapless` to turn it off

* Ensure sink restarts b/w tracks when gapless is disabled
2020-03-10 13:00:57 +01:00
Sasha Hilton
66f8a98ad2
Merge pull request #438 from Malvineous/patch-3
Make sequences wrap around to avoid overflows
2020-02-27 02:15:33 +00:00
Sasha Hilton
b86c317ac9
Merge pull request #435 from Malvineous/patch-1
Allow use of HTTP proxies listening on port 80
2020-02-27 02:14:49 +00:00
Sasha Hilton
670170bd23
Merge pull request #430 from kaymes/gapless_play
Gapless play and improved notifications
2020-02-27 02:14:13 +00:00
Konstantin Seiler
f3b13beb17 Fix typo. 2020-02-27 12:25:25 +11:00
Sasha Hilton
a9446c3e01
Only cache the .cargo directory on Travis 2020-02-27 00:31:35 +00:00
Adam Nielsen
036f1f7cec
Make sequences wrap around to avoid overflows
Instead of aborting with an `attempt to add with overflow` error, wrap the sequence around so that it goes back to 0 once it has reached the maximum value for the integer type.  Fixes #437.
2020-02-23 11:27:38 +10:00
Adam Nielsen
63cc846a10
Allow use of HTTP proxies listening on port 80
Since port 80 is the default port for the HTTP protocol, `url.port()` returns `None`, causing an "invalid proxy" message.  Using `port_or_known_default()` will only return `None` if the both the port has been omitted and an unknown protocol has been specified.
2020-02-16 18:52:09 +10:00
Sean McNamara
ac0df7e11f Merge https://github.com/librespot-org/librespot into gst1.0-2020 2020-02-14 19:01:42 -05:00
Sasha Hilton
08c239319c
Merge pull request #386 from willstott101/cha_cha_shuffle
Ignore false shuffle/repeat when changing contexts to match Android behaviour (fixes: #266)
2020-02-13 21:43:43 +01:00
Konstantin Seiler
873f86bb96 Cancel preload requests to free bandwidth when repeating the same track. 2020-02-07 23:54:09 +11:00
Konstantin Seiler
3f111a9778 Suppress sending loading state to Spotify unless we actually need to load a track. 2020-02-07 21:21:11 +11:00
Konstantin Seiler
18d1181bf5 Clean up some code
Ensure the player events are emitted correctly.
Only call the external script on events we want to notify about.
Stop sink when loading to pause.
cargo fmt
2020-02-03 18:58:44 +11:00
Konstantin Seiler
ead794f4fd Correct notifications when loading the same track again. 2020-02-03 14:31:15 +11:00
Konstantin Seiler
499824a6ba rust fmt 2020-02-03 11:57:09 +11:00
Konstantin Seiler
981b76bace Keep the sink open
Fix typo
2020-02-03 10:11:27 +11:00
Konstantin Seiler
6fed8d0413 Make preloading work. 2020-02-03 09:15:56 +11:00
Konstantin Seiler
349e182d41 Smarter handling of preloading and loading of tracks that are already loaded. 2020-02-03 09:15:48 +11:00
Konstantin Seiler
8756341201 Remove debug message 2020-02-02 11:12:17 +11:00
Konstantin Seiler
9eef690a22 Some clean up 2020-02-02 11:08:46 +11:00
Konstantin Seiler
5784b4652c Prepare for gapless play.
- change communication between player and spirc to use player events channel.
- enhance player events channel
- have spirc send loading messages to Spotify
- enable preloading of tracks in the player
2020-02-01 08:41:11 +11:00
Sasha Hilton
3672214e31 Update Cargo.lock 2020-01-30 02:41:47 +01:00
Sasha Hilton
6daa2acd0a Update version numbers to 0.1.1 2020-01-30 02:39:41 +01:00
Sasha Hilton
83140bea88
Merge pull request #427 from kaymes/connection-lost-crash
Gracefully handle lost network connections
2020-01-30 02:04:37 +01:00
Konstantin Seiler
37f6e3eb9c Print error message on connection failure. 2020-01-29 09:51:26 +11:00
Konstantin Seiler
65d1c1bf8e Proper error handling when connecting to the server. 2020-01-29 09:45:06 +11:00
Sasha Hilton
c9f1914fc8 Run cargo fmt 2020-01-28 19:19:18 +01:00
Sasha Hilton
4c9a8b5cac
Merge pull request #422 from misuzu/subprocess
Subprocess audio backend
2020-01-25 01:25:17 +01:00
Sasha Hilton
6f7fd9f398
Merge pull request #426 from kaymes/empty-queue-crash
Prevent spirc from crashing when the queue is empty.
2020-01-24 03:05:07 +01:00
Sasha Hilton
e9c3357e41 Run cargo fmt 2020-01-24 02:26:16 +01:00
misuzu
b8617f54a9 Added subprocess audio backend 2020-01-24 02:35:48 +02:00
Sasha Hilton
cdcb919c08
Merge branch 'dev' into connection-lost-crash 2020-01-24 01:02:40 +01:00
Sasha Hilton
01be8e7efa
Merge pull request #423 from marcelbuesing/rust-2018
Migrate to rust 2018 edition
2020-01-24 01:00:39 +01:00
Sasha Hilton
94bb4623d2
Correct cargo clean package flags 2020-01-24 00:59:28 +01:00
Sasha Hilton
d599c5cc85
Further reduce cache bloat 2020-01-24 00:27:57 +01:00
Konstantin Seiler
a52092e094 Convert another panic to error handling.
Compatibility fix for Rust 1.33.
2020-01-24 10:12:16 +11:00
Konstantin Seiler
0e22678a28 Workaround for Rust 1.33 borrow checker. 2020-01-23 21:10:55 +11:00
Konstantin Seiler
dadab486d2 Don't exit if too many spirc failures. 2020-01-23 19:51:09 +11:00
Konstantin Seiler
f26db01110 Rate-limit automatic re-connection attempts when spirc shuts down. 2020-01-23 19:32:06 +11:00
Konstantin Seiler
17821b26aa Rename variable to be in line with existing code. 2020-01-23 19:32:00 +11:00
Konstantin Seiler
113bb92c9d Prevent spirc from crashing when the queue is empty. 2020-01-23 19:26:47 +11:00
Konstantin Seiler
719943aec9 Don't panic if spirc terminates prematurely.
Instead attempt to reconnect and wait for new client connections.
2020-01-23 01:24:59 +11:00
Konstantin Seiler
ea1e0925dc Enable proper shutdown of the channels. 2020-01-23 01:23:34 +11:00
Konstantin Seiler
04b52d7878 Have player handle Mercury errors while loading tracks. 2020-01-23 01:15:30 +11:00
Konstantin Seiler
3fe3849588 Enable Mercury to be shut down and all pending requests being cancelled. 2020-01-23 01:14:43 +11:00
Konstantin Seiler
b6c676ad60 Prevent librespot from panicking if server connection is lost. 2020-01-22 21:55:45 +11:00
Konstantin Seiler
362106df62 Fix error handling for closed channel.
fixes #417
2020-01-22 16:58:21 +11:00
marcelbuesing
c9147d31ab
Turn child crates into rust 2018 edition 2020-01-17 20:54:05 +01:00