Commit Graph

99 Commits

Author SHA1 Message Date
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
Henrik Friedrichsen
b06b6bc15b rustfmt 2019-02-26 21:34:20 +01:00
Henrik Friedrichsen
6da617cf42 consume next queue entry after finishing current track 2019-02-10 21:13:43 +01:00
Henrik Friedrichsen
f1ec67db0c cleanups + make search results scrollable 2018-12-23 20:23:10 +01:00
Henrik Friedrichsen
278bb7844f implement track search and playback 2018-12-23 12:44:40 +01:00
Henrik Friedrichsen
a94a949d9e add web api facilities 2018-11-11 15:17:22 +01:00
Henrik Friedrichsen
8ddf4498ba initial commit 2018-11-11 00:01:00 +01:00