Commit graph

96 commits

Author SHA1 Message Date
Konstantin Seiler
6fed8d0413 Make preloading work. 2020-02-03 09:15:56 +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
83140bea88
Merge pull request #427 from kaymes/connection-lost-crash
Gracefully handle lost network connections
2020-01-30 02:04:37 +01:00
Sasha Hilton
c9f1914fc8 Run cargo fmt 2020-01-28 19:19:18 +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
Sasha Hilton
cdcb919c08
Merge branch 'dev' into connection-lost-crash 2020-01-24 01:02:40 +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
113bb92c9d Prevent spirc from crashing when the queue is empty. 2020-01-23 19:26:47 +11: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
ashthespy
6c6ba88590 Don't panic when no autoplay uri is obtained
For example from Liked Songs (`spotify:user:xxx:collection`)
2020-01-07 12:13:49 +01:00
ashthespy
b3c9744b29 Add a autoplay option flag 2019-11-05 20:34:43 +01:00
ashthespy
ba2639d1df Autoplay similar songs when your music ends 2019-11-05 15:47:28 +01:00
ashthespy
ee3a756a6e Fix borrow for Rust 1.32.0 2019-10-30 13:53:11 +01:00
ashthespy
508c7e2b26 Tweak track loading 2019-10-30 11:33:17 +01:00
ashthespy
b96405af82 Make SpotifyId understand more URI formats 2019-10-30 11:33:17 +01:00
ashthespy
0cb7a3f7c8 WIP: Podcast support 2019-10-30 11:33:17 +01:00
Will Stott
8b8032634a Fix shuffle and repeat when changing contexts to match Android behaviour
Seems strange that these fields return true in the has_ methods when as
far as I can tell it's impossible to remove the shuffle/repeat state in
the client without explicitly toggling them with their dedicated buttons
2019-10-19 12:42:23 +01:00
Nick Mavis
c19375c5ca Fixed nightly conflict with 2019-09-16 15:00:09 -04:00
ashthespy
8d08425ef3 Refactor adding context tracks to state 2019-03-28 15:27:50 +01:00
Michael Edwards
9b4ede086a Server time delta is a signed integer
Fixes #322
2019-03-26 21:45:23 +01:00
devgianlu
dc9b2de314 Fixed issue with time alignment 2019-03-24 07:15:14 -07:00
ashthespy
6870c76a43 Limit new context tracks added to frame
Keep only a fixed history of previous tracks to prior pushing new tracks
2019-03-16 16:18:38 +01:00
ashthespy
b0ee8ec74d Tweak malformed gid handling 2019-03-15 08:26:58 +01:00
ashthespy
c0416972b6 Support Dailymixes and refactor dynamic playlists 2019-03-13 20:35:46 +01:00
ashthespy
96b432aa4c Implement support for dynamic playlists (Radio) 2018-10-12 19:15:26 +02:00
Sasha Hilton
8978559d3a
Merge pull request #284 from tstenner/rand06
Update rand to 0.6
2019-03-10 18:09:08 +01:00
Sasha Hilton
0686fe545f Update Spirc depreciated rand method 2019-03-10 17:48:19 +01:00
Åke Forslund
9b6b55ee7d Update subscription uri
This fixes an issue loading new tracks probably caused by an update on spotify's side. The fix was suggested by @worleydl, all glory to them for figuring it out.
2019-02-22 14:09:01 +01:00
Brice
d40c0f50db Cache volume across restarts (#220)
* create Volume struct for use with Cache

* add "volume" file to Cache

* load cached volume on start, intial overrides cached overrides default

* amend volume_to_mixer function to cache the volume on every change

* pass cache to Spirc and SpircTask so volume_to_mixer has access

* rustfmt changes

* revert volume_to_mixer function and Spirc/SpircTask cache variable

* Volume implements Copy, pass by value instead of reference

* clamp volume to 100 if cached value exceeds limit

* convert Volume to u16 internally, use float and round to convert hex->dec

* convert initial_volume and ConnectConfig.volume to u16 as well

* add cache_volume function to SpircTask

* remove conversion to/from percentage on cached volume

* consolidate device.set_volume, mixer.set_volume, and caching

* streamline intial volume logic
2018-05-17 03:15:17 +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
thekr1s
d6b82cd732 revert file mode to original mode 2018-03-14 23:19:49 +01:00
thekr1s
b1f2a412ad fir rustfmt issues 2018-03-11 13:34:30 +01:00
thekr1s
b3966b0e08 Add optional linear volume contol 2018-03-11 11:27:28 +01:00
Sasha Hilton
4fb8c71b0a Set SpotifyId methods to return Result 2018-02-25 03:04:07 +01:00
Sasha Hilton
685fb4e345
Merge pull request #156 from kingosticks/fix/update-context-uri
Include updating context_uri along with tracks and current index
2018-02-22 16:30:32 +01:00
Nick Steel
a463633956 Also update repeat and shuffle status. 2018-02-17 15:59:04 +00:00
Nick Steel
edabd042e4 Include updating context_uri along with tracks and current index.
This allows remote clients to show the green now-playing indication (#57).
2018-02-17 15:17:05 +00:00
awiouy
1cd7d4d145 connect: rewrite initial_state and CommandSender 2018-02-17 10:15:09 +01:00
awiouy
15909613e9 connect: dispose of protobuf_macros 2018-02-16 22:43:57 +01:00
awiouy
4c2b641cad core API: move spotify_id to lib.rs 2018-02-13 07:57:28 +01:00
awiouy
b7c32e9d6d rustfmt: connect 2018-02-11 23:55:41 +01:00
awiouy
d900134114 connect: discovery and spirc 2018-02-11 23:55:41 +01:00
Renamed from src/spirc.rs (Browse further)