Henrik Friedrichsen
577e7ebd87
Unify pagination setup for ApiResult values
...
Also:
- Fix duplicate results
- Rename `album.load_tracks` to `album.load_all_tracks`
2021-04-08 17:46:50 +02:00
Henrik Friedrichsen
0f8e4d0558
Use new pagination interface for podcast episodes
2021-04-08 16:49:19 +02:00
Henrik Friedrichsen
53db188153
Use new pagination interface for playlist tracks
2021-04-06 17:45:14 +02:00
Henrik Friedrichsen
67aa5b2bad
Use new pagination interface for user playlists
2021-04-06 16:20:38 +02:00
Henrik Friedrichsen
02921752e1
Use new pagination interface for artist albums
...
Brings along some other changes:
- Split artist albums/singles into separate panel
- Paginate artist albums/singles
- Play top tracks by artist instead of all tracks by artist
Fixes #477
2021-04-06 15:02:19 +02:00
Henrik Friedrichsen
c48771770c
Implement new pagination abstraction
...
This moves the pagination logic to Spotify API results instead of having
to reimplement it on the consumer end.
2021-04-06 14:55:01 +02:00
Henrik Friedrichsen
0f573f8247
Refactor: Make Spotify cloneable
2021-04-03 22:35:08 +02:00
Henrik Friedrichsen
8483653cde
Refactor: extract Spotify Worker to separate file
2021-04-03 21:38:42 +02:00
Henrik Friedrichsen
d2edfc3caf
rename as_boxed_view_ext to into_boxed_view_ext
2021-03-22 22:36:33 +01:00
Henrik Friedrichsen
5295eb4b5a
sort artist albums by year
2021-03-22 22:16:07 +01:00
Henrik Friedrichsen
a0231362f1
implement logout command
...
fixes #470
2021-03-22 21:56:50 +01:00
Henrik Friedrichsen
5f87e3cd79
show display name owning the current library
...
as suggested in #470
2021-03-22 21:56:50 +01:00
André Andersson
65e9887f38
Refactor needs_download and rename library.items to better convey usage ( #466 )
...
* Refactor
* Rename items to playlists and update error message
2021-03-16 20:43:17 +01:00
Qluxzz
46899ace8b
Replace all .filter.map chains with .filter_map
2021-03-16 20:41:13 +01:00
Henrik Friedrichsen
ff6788a2a9
Clear search term when ESC is pressed
...
fixes #384
2021-03-06 00:00:19 +01:00
Henrik Friedrichsen
d6db7a54d6
Remove plain-text credential store
...
librespot stores a more secure token that is valid for a while, rely on this
instead.
On the flip side this requires users to re-enter their login data when their
token has expired.
If the token validity is too short we will have to come up with another
approach, e.g. OS keyrings.
fixes #447
2021-03-05 23:47:12 +01:00
Henrik Friedrichsen
f2bcfcaa60
fix: more resilient playlist track deletion
...
Introduction of the sort command with #328 broke the deletion of playlist items,
because sorted track indices got out of sync with their actual index within the
playlist at the Spotify backend.
The new approach is not perfect, as it doesn't update the list index of items
after deletion, but by supplying the playlist snapshot id the backend is able to
apply the requested changes.
This should still be improved in the future, though.
2021-03-05 23:34:29 +01:00
Henrik Friedrichsen
466b4cd18e
Refactor pagination code into separate file
2021-03-05 21:54:29 +01:00
Henrik Friedrichsen
ca8f1a8545
Persist sorting orders for playlists
...
Closes #436
2021-03-05 21:54:29 +01:00
Qluxzz
3d11b2c333
Fix spelling mistake
2021-03-05 21:54:15 +01:00
Henrik Friedrichsen
b436e40851
Fix display of PlayNext command
...
fixes #445
2021-02-27 13:23:30 +01:00
KoffeinFlummi
df87ff9bdd
Implement cover drawing as optional feature
2021-02-27 13:14:49 +01:00
algon
dfb60ee4be
Improve album loading in artist view ( #446 )
...
* Load all albums in artist view
* Fetch multiple albums at a time
2021-02-25 21:24:10 +01:00
Henrik Friedrichsen
db894d7ce8
Add config values to override shuffle/repeat state
2021-02-25 21:07:12 +01:00
Henrik Friedrichsen
92d1978340
Save track queue when closing and restore at start
2021-02-22 22:14:34 +01:00
Henrik Friedrichsen
a880ffd1f6
Persist volume and shuffle/repeat state
2021-02-22 22:14:34 +01:00
r4v3n6101
610a6190b2
LoopStatus is now editable from MPRIS
2021-02-22 22:14:15 +01:00
Henrik Friedrichsen
f49e241e10
fix: correct positioning of search match highlight
2021-02-06 00:48:26 +01:00
Henrik Friedrichsen
7f5856dfb6
open search results in search screen
...
fixes #413
2021-02-02 20:54:18 +01:00
André Andersson
ab60556644
Fix removing listview item even if not succesfully deleted ( #404 )
...
* Fix deleting listview item if not deleted
* Refactor
2021-01-23 22:42:42 +01:00
André Andersson
5b40fc6ddc
Don't handle FinishedTrack as Stopped ( #403 )
...
* Don't handle FinishedTrack as Stopped
* consider `FinishedTrack` as still playing
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2021-01-20 20:54:45 +01:00
Qluxzz
bca84658fb
Fix not handling changed event
2021-01-20 20:49:09 +01:00
André Andersson
92335594bc
Restart queue if pressing play when stopped ( #399 )
...
* Restart queue if pressing play when stopped
* Remove FinishedTrack from match
* Formatting
2021-01-19 21:47:41 +01:00
Alexandre Bury
cfb91493a5
Update to cursive 0.16
2021-01-19 21:47:18 +01:00
André Andersson
ed0c62a888
Add support for open.spotify.com links ( #392 )
...
* No longer necessary
* Add support for open.spotify.com links
* Reuse struct for insert command
* Formatting
2021-01-17 20:12:07 +01:00
André Andersson
206a7d88a5
Return to search when viewing search results
2021-01-16 22:50:12 +01:00
André Andersson
d9d6d684ea
Fix multiple tracks in queue being shown as playing ( #396 )
...
* Fix multiple items being shown as playing
* Refactor
2021-01-16 21:40:59 +01:00
Henrik Friedrichsen
f507ef6ced
show screen title in "pop view" hint
...
fixes #376
2021-01-10 17:04:37 +01:00
Henrik Friedrichsen
9afad2d91c
cargo fmt/clippy
2021-01-10 01:54:54 +01:00
Henrik Friedrichsen
def01494db
fix: convert duration to i64 to avoid overflow
...
This can happen with longer playables, e.g. podcast episodes.
2021-01-10 01:52:56 +01:00
Henrik Friedrichsen
a216af91ac
remember view stacks separately for screens
...
Previously, the stack would be reset when switching between screens.
With the new search flow this means that search results are lost, e.g. when switching
from search results to the queue and back.
2021-01-10 01:42:23 +01:00
Henrik Friedrichsen
254c7a3856
refactor: differentiate between screens and views
2021-01-09 23:23:57 +01:00
Henrik Friedrichsen
18dc6c6bf8
separate search and search results
...
fixes #219
2021-01-09 22:55:41 +01:00
Qluxzz
2b20670743
Add select artist dialog when multiple artists
2021-01-09 22:15:32 +01:00
Qluxzz
68e51f263d
Replace from_str with parse
2021-01-08 09:52:27 +01:00
Qluxzz
9447b33684
Fix not setting country correctly
2021-01-08 09:52:27 +01:00
Qluxzz
9bc98f70fd
Expose gapless playback config option
2021-01-08 09:40:50 +01:00
algon
cb72870fc2
Enable mouse scrolling in TabViews ( #363 )
...
* Forward events from a TabView to the selected Tab
* Forward mouse events to the front screen instead of the focused screen
2021-01-05 18:37:00 +01:00
Henrik Friedrichsen
63e65c32c9
update dependencies
...
rand 0.8.0 now accepts ranges
2021-01-03 23:24:45 +01:00
Henrik Friedrichsen
9639115f48
show confirmation dialog before deleting queue
...
fixes #227
2021-01-03 23:13:53 +01:00