Commit Graph

214 Commits

Author SHA1 Message Date
Henrik Friedrichsen
b42315d113 Add flip_status_indicators setting
Fixes #511
2021-05-14 17:41:19 +02:00
Henrik Friedrichsen
cd2cde542e Revert "Flip play/pause indicators" 2021-05-14 14:13:44 +02:00
Henrik Friedrichsen
40ad2bd208 Fix build of cover feature 2021-05-11 22:47:56 +02:00
Henrik Friedrichsen
8fb854dea6 Cargo format 2021-05-10 22:18:03 +02:00
fwcd
09404285c1 Use 'play' icon in stopped state 2021-05-10 22:09:38 +02:00
Henrik Friedrichsen
83dd2494c8 Remove spammy trace log in ListView 2021-05-07 23:16:47 +02:00
Henrik Friedrichsen
f0d5e31c86 Flip play/pause indicators
Fixes #511
2021-05-07 22:56:09 +02:00
Henrik Friedrichsen
71d42d489e Remove extern crate statements
https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html
2021-05-07 22:51:32 +02:00
Kemyt
aa8e9f1099 Add rounding to volume percentage display
Shows percentage is sometimes lower than actual because float number
is cast to u16 without rounding, so for example 4.99_f64 becomes 4_u16
2021-04-17 17:48:41 +02:00
Henrik Friedrichsen
decf7c2aef Improve synchronization of playback times
Take librespot timestamps instead of approximating them in ncspot.
2021-04-11 15:17:10 +02:00
Henrik Friedrichsen
32cb6e70d3 Show tracks + duration of album, playlist, queue
Stats are in the top right

Fixes #475
2021-04-08 22:26:19 +02:00
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
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
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
Henrik Friedrichsen
ff6788a2a9 Clear search term when ESC is pressed
fixes #384
2021-03-06 00:00:19 +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
KoffeinFlummi
df87ff9bdd Implement cover drawing as optional feature 2021-02-27 13:14:49 +01:00
Henrik Friedrichsen
f49e241e10 fix: correct positioning of search match highlight 2021-02-06 00:48:26 +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
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
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
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
3c66379cc6 fix search command and update docs
fixes #353
2021-01-02 22:18:41 +01:00
Henrik Friedrichsen
919a245649 set title for "similar tracks" view 2021-01-02 21:46:09 +01:00
Felix Van der Jeugt
02b66b6cdd Allow primary selection for sharing
Adds a feature flag to use the primary selection instead of the
clipboard. Only works on Linux.
2020-12-15 22:31:35 +01:00
Henrik Friedrichsen
54e48a7dc6 cargo clippy 2020-12-13 21:58:58 +01:00
JojiiOfficial
5fefe9eec3 Add hjkl controls for AddToPlaylistMenu (#335)
* Add hjkl controls for AddToPlaylistMenu

* turn off autojump in contextmenu for vim bindings

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-12-13 20:41:22 +01:00
André Andersson
bdc1ed8fc8 Save/unsave track from context menu 2020-11-26 21:40:38 +01:00
André Andersson
d1211e6901 Only show playlists where the user is allowed to add tracks when trying to add tracks (#329)
* Only show playlists where the user is allowed to add tracks

* Expose user_id from library and use it to reduce api calls
2020-11-22 19:26:20 +01:00
André Andersson
68d2bbd64f Add support for sorting playlist tracks (#328)
* Add support for sorting playlists

* Update string

* formatting
2020-11-22 17:02:33 +01:00
Henrik Friedrichsen
09febf7187 cargo update + format + clippy 2020-11-21 15:42:17 +01:00
Bettehem
e0cfc40639 Spotify URL handling improvements (#320)
* Fixed regex for handling links via ctrl+v shortcut.
Fixed the whole url getting passed to get data on each link type instead of only the id.
Fixed MPRIS OpenUri function not handling an user&id in the link correctly.
2020-11-15 19:17:15 +01:00
Bettehem
a8861fc1aa Spotify URL support for MPRIS OpenUri function (#314)
* Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.

* Added tags to .gitignore

* Changed mpris metadata to actually return the track's url instead of the Spotify URI so that it matches the functionality of the official Spotify client.

* Changed mpris:trackid and xesam:url to not use static naming so it can support podcasts.

* Changed xesam:url to default to an empty string instead of "0"

* Added possibility to start playing Shows and Episodes via MPRIS.
Added possibility to search for Podcast Episodes.

* Fixed mpris:trackid not returning the id in the correct format.
MPRIS OpenUri function now supports Spotify url links.

* return result directly instead of mut string

* handle artist URLs/URIs

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-11-10 20:18:22 +01:00