Henrik Friedrichsen
ed1dc2e22e
implement saving selected tracks directly to playlists
...
closes #103
2019-11-02 23:19:12 +01:00
Henrik Friedrichsen
dc427e3ba2
formatting + clippy cleanups
2019-10-31 12:30:25 +01:00
Henrik Friedrichsen
4defded546
fix slicing of playlists when saving large lists
...
playlist updates need to be submitted in batches of max 100 previously, it would
submit the entire rest after submitting the first 100 via
user_playlist_replace_tracks, which was rejected by the server.
fixes #99
2019-10-12 19:28:18 +02:00
Henrik Friedrichsen
d01dad9a57
use spotify user id from librespot session for web api requests
...
fixes broken web api requests for users who logged in with their email address
fixes #98
2019-10-12 16:15:53 +02:00
Henrik Friedrichsen
82a199b5d2
update rspotify to 0.7.0
2019-10-12 16:15:07 +02:00
Henrik Friedrichsen
7aa70fcb6b
fix deprecation warnings caused by old trait object syntax
2019-09-01 01:32:50 +02:00
Henrik Friedrichsen
cd80ace4a8
remove debug log spamming + log player events
2019-09-01 01:10:19 +02:00
KoffeinFlummi
eed3edfa59
Differentiate between followed and created playlists
...
Fix #56
2019-04-28 11:04:51 +02:00
Henrik Friedrichsen
eb2e8322e5
Merge remote-tracking branch 'origin/feature/new_rspotify' into develop
2019-04-24 21:01:15 +02:00
Henrik Friedrichsen
18c2f6466a
fix most of the clippy linter warnings
2019-04-23 22:28:05 +02:00
KoffeinFlummi
eed218d0c3
Implement browsing for albums, artists, playlists
2019-04-23 01:40:00 +02:00
KoffeinFlummi
1a17860957
cargo fmt
2019-04-20 00:11:43 +02:00
KoffeinFlummi
f320b953d6
Implement following playlists
2019-04-19 23:50:36 +02:00
KoffeinFlummi
1e58ca9345
Implement (un)saving tracks, albums; (un)following artists
2019-04-18 15:43:51 +02:00
Henrik Friedrichsen
0de6ad2dfe
adapt to new rspotify structures
...
these changes are necessary to handle playlists with local tracks properly
2019-04-17 18:25:00 +02:00
KoffeinFlummi
210c7d9f4e
Implement saved tracks, albums, and artists
2019-04-16 19:52:22 +02:00
Henrik Friedrichsen
0bbba3c57d
remove clippy from CI for now, as it's too strict
2019-04-15 22:07:54 +02:00
Henrik Friedrichsen
8738472e87
test login credentials before entering main program
...
closes #58
this is a bit messy, as librespot panics, when authentication fails. thus, we
test the credentials in a separate thread to handle the panic.
see also: https://github.com/librespot-org/librespot/issues/108
2019-04-15 21:59:19 +02:00
Henrik Friedrichsen
a6f96d86ba
refactor search (lots of duplicate code)
2019-04-10 14:04:09 +02:00
Oscar Linderholm
0f0b2f3e2a
Add methods for fetching Spotify URI items
2019-04-10 14:04:09 +02:00
Oscar Linderholm
de1062471f
Add Spotify URI resource helpers
2019-04-10 14:04:09 +02:00
Henrik Friedrichsen
1c26c7bcee
cargo fmt/clippy all the things + make them mandatory in CI
2019-04-03 14:13:40 +02:00
KoffeinFlummi
6971c8d431
Refresh token in main thread before search
2019-04-02 08:31:17 +02:00
KoffeinFlummi
d223aae9c7
Add album and artist searching
2019-04-02 08:31:17 +02:00
KoffeinFlummi
3c7b3e3618
Add tabview, add playlists to search
2019-04-02 08:30:42 +02:00
Henrik Friedrichsen
3d446ab942
enable librespot cache for audio data
2019-03-31 16:28:43 +02:00
Michael Edwards
d78e71871a
Credentials helper if config not present or unparseable
...
Fixes #1
2019-03-30 22:40:42 +01:00
Henrik Friedrichsen
83a394790f
implement deletion of playlists
...
closes #11
2019-03-26 22:24:20 +01:00
Henrik Friedrichsen
4f8342da83
refactorial spring cleaning (cargo fmt + clippy)
2019-03-26 20:51:39 +01:00
KoffeinFlummi
e6a7d8a693
Add seeking
2019-03-25 18:32:51 +01:00
Henrik Friedrichsen
43a1dc654f
implement playlist saving interface
2019-03-24 16:27:36 +01:00
Henrik Friedrichsen
53255a48af
implement playlist update on demand + prune stale playlists
2019-03-23 18:38:58 +01:00
Henrik Friedrichsen
4a5a38716f
handle and renew expired web api tokens
...
closes #36
2019-03-22 16:01:05 +01:00
Henrik Friedrichsen
4b3a53ef74
remove leftover comment
2019-03-20 23:41:20 +01:00
Henrik Friedrichsen
c0e6f9ec34
cargo fmt
2019-03-20 23:38:17 +01:00
Henrik Friedrichsen
2b45778196
handle rate limiting imposed by spotify web api
...
closes #29
2019-03-20 23:12:58 +01:00
Henrik Friedrichsen
7aa6d49f3d
move foreign SpotifyId struct out of Track model
2019-03-13 23:30:50 +01:00
Henrik Friedrichsen
cf31b2204a
trigger redraw every 400ms while playing to keep statusbar in sync
2019-03-11 01:07:21 +01:00
Henrik Friedrichsen
82f10fccde
download playlist once at startup and keep it in memory
2019-03-08 00:13:45 +01:00
Henrik Friedrichsen
0b14fc5da7
transform simple queue to a preserving, more complex kind
...
this is a pretty big but necessary change and might not be stable yet.
some key points:
- the queue is now responsible for playback controls and track management, as
this was scattered between the queue and spotify objects.
- because the queue is now retained, it should be easier to save it as a
spotify playlist
closes #12
2019-03-06 23:59:33 +01:00
Henrik Friedrichsen
0d2896363f
small fixes
2019-03-06 00:47:30 +01:00
Henrik Friedrichsen
91e89c2970
introduce track data class
2019-03-06 00:15:28 +01:00
Henrik Friedrichsen
0f3cc41115
cargo fmt
2019-03-05 23:26:23 +01:00
KoffeinFlummi
7a24eca809
Add main layout view and status bar
...
Fix #4
2019-03-05 19:18:36 +01:00
Henrik Friedrichsen
92811a2ce3
use scrollview in linearlayout for playlist items
...
this approach is more flexible for future additions, e.g. further callbacks such
as playlist deletion.
2019-03-04 19:13:39 +01:00
Felipe Sere
99674a5ac0
Implement basic playlist that simply queues songs
2019-03-04 16:41:04 +00:00
Henrik Friedrichsen
19ae8fcbfc
rename player events
2019-03-04 00:29:48 +01:00
Henrik Friedrichsen
bb8326af88
refer to Self
2019-03-03 23:47:56 +01:00
Henrik Friedrichsen
c60324af61
cargo fmt
2019-03-02 18:39:58 +01:00
Henrik Friedrichsen
3d1673a7a4
add global play/pause/stop buttons + necessary state logic
2019-03-02 18:37:56 +01:00