johannesd3
0895f17f8a
Migrated playback crate to futures 0.3
2021-01-25 09:04:33 +01:00
maxthiel
2f7bf54076
Add a preload event to warn about new track coming soon
2020-12-10 21:17:41 +00:00
Sasha Hilton
6eabf4a75c
Merge pull request #449 from kaymes/blocking_sink_events
...
Add blocking SinkActive|SinkInactive events
2020-07-24 03:07:38 +01:00
ashthespy
172cb945c4
Merge branch 'dev' of https://github.com/librespot-org/librespot into skip_unplayable
2020-05-13 12:19:33 +02:00
ashthespy
14709b9f8d
Let spirc handle unavailable tracks
2020-05-13 11:49:26 +02:00
ashthespy
902440925d
Handle unplayable tracks during prefetch
2020-05-10 14:31:43 +02:00
ashthespy
b63199743a
Skip unplayable tracks instead of stopping
2020-05-09 13:59:28 +02:00
Konstantin Seiler
223b8d611e
Roll back the meta data processing.
2020-03-20 17:31:18 +11:00
Konstantin Seiler
c9117542eb
Refactor TrackMetaData in the player and add the metadata to the player events.
...
Fire more events in the --onevent script and set more variables.
2020-03-12 23:01:45 +11:00
Konstantin Seiler
d4d55254b0
address merge conflict
2020-03-10 23:53:58 +11:00
Konstantin Seiler
667e559340
Merge remote-tracking branch 'origin/dev' into blocking_sink_events
2020-03-10 23:52:20 +11:00
Konstantin Seiler
6f28b0486f
Emit blocking sink events
2020-03-10 23:26:01 +11: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
Konstantin Seiler
873f86bb96
Cancel preload requests to free bandwidth when repeating the same track.
2020-02-07 23:54:09 +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
e9c3357e41
Run cargo fmt
2020-01-24 02:26:16 +01:00
Sasha Hilton
cdcb919c08
Merge branch 'dev' into connection-lost-crash
2020-01-24 01:02:40 +01:00
Konstantin Seiler
04b52d7878
Have player handle Mercury errors while loading tracks.
2020-01-23 01:15:30 +11:00
marcelbuesing
c9147d31ab
Turn child crates into rust 2018 edition
2020-01-17 20:54:05 +01:00
marcelbuesing
38d82f2dc2
Rerun rustfmt on full codebase
2020-01-17 18:47:30 +01:00
ashthespy
d26590afc5
Update to Rust 2018
...
- Fix deprecated Error::cause warnings and missing dyn
- Reset max_width
- Add rustfmt to Travis
- Run rustfmt on full codebase
with `cargo fmt --all`
- Add rustfmt to Travis
- Complete migration to edition 2018
- Replace try! shorthand
- Use explicit `dyn Trait`
2020-01-17 18:11:52 +01:00
Konstantin Seiler
d2d6df0e24
Run cargo fmt for my code.
2019-11-11 18:22:41 +11:00
Konstantin Seiler
6422dcef78
Refine file downloading heuristics to use data rates and ping times everywhere.
2019-11-08 00:02:53 +11:00
Konstantin Seiler
c50fc9885a
Adapt code for the new bitrate selection via alternatives.
2019-11-06 08:16:01 +11:00
Konstantin Seiler
9b069effb2
Merge remote-tracking branch 'origin/dev' into dynamic-blocks
...
Adapt code for the aternative bitrate selection.
2019-11-06 08:10:41 +11:00
Konstantin Seiler
1fcacf78cd
Merge branch 'dynamic-blocks' into comments
2019-11-02 09:22:35 +11:00
Konstantin Seiler
5ad6446616
remove compiler warning
2019-11-02 09:22:07 +11:00
Konstantin Seiler
6545674a63
Merge remote-tracking branch 'origin/master' into dynamic-blocks
2019-11-02 07:15:23 +11:00
Konstantin Seiler
bf47ca7033
some debug messages
2019-11-02 06:48:18 +11:00
Konstantin Seiler
333fc5010c
New file downloading mechanism
2019-11-02 06:46:28 +11:00
ashthespy
8eb51e9b55
Streamline and refactor Podcast support,
...
<Metadata>
Add publisher to `Show`
Add `ALLOWED` to `PassthroughEnum`
2019-10-30 11:33:17 +01:00
ashthespy
0cb7a3f7c8
WIP: Podcast support
2019-10-30 11:33:17 +01:00
Nick Mavis
c19375c5ca
Fixed nightly conflict with
2019-09-16 15:00:09 -04:00
Konstantin Seiler
43dcc6b55b
Remove deft over debug message.
2019-03-10 11:46:25 +11:00
Konstantin Seiler
43959ee788
Commit missing ;
2019-03-09 20:07:45 +11:00
Konstantin Seiler
2e492e4d44
Speed up playback by avoiding unnecessary seek when playing from the beginning of a file.
2019-03-09 19:30:27 +11:00
Konstantin Seiler
a3c63b4e05
Speed up loading of files by requesting file and key in parallel.
2019-03-09 19:29:47 +11:00
Harold
00e89343fb
Formatting
2018-07-03 13:08:42 +02:00
Reinier Balt
2aea0e8fe6
do not panic on connection reset
2018-04-21 17:46:29 +02:00
Johan Anderholm
612978908f
Reformat according to new rustfmt rules
2018-03-24 08:45:43 +00:00
Thomas Bächler
014533a583
playback: Only send a packet to the audio backend if it isn't empty
...
The lewton decoder sometimes delivers empty packets, especially after skipping inside a
track or switching tracks. This caused the pulseaudio backend to fail since it expects
a non-empty packet. There is no need to handle empty packets in the audio backend, so
we can skip them entirely.
2018-03-20 14:14:44 +01:00
Sasha Hilton
f830322e14
Fix spotify URI logging
2018-02-28 13:35:31 +01:00