Commit Graph

375 Commits

Author SHA1 Message Date
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
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
Henrik Friedrichsen
3874dc42f8 cargo clippy 2021-01-02 21:30:52 +01:00
Henrik Friedrichsen
5671f1e5a4 fix: do not announce unplayable tracks via mpris
fixes #349
2020-12-19 00:28:39 +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
d8417664fd show connection message instead of blank screen 2020-11-21 15:52:39 +01:00
Henrik Friedrichsen
09febf7187 cargo update + format + clippy 2020-11-21 15:42:17 +01:00
Benjamin Brownlee
d728cd2bb4 fix mpris get volume; added mpris set volume (#325) 2020-11-21 15:34:22 +01:00
r4v3n6101
5e1c31eefb Change to correct trackid 2020-11-17 20:43:02 +01:00
Henrik Friedrichsen
880fbb3f6e fix: don't try to play tracks without spotify id
Can happen when a playlist is queued that contains tracks removed from the
Spotify catalogue.

fixes #321
2020-11-16 22:21:27 +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
9baed7ae98 Added possibility to turn on/off shuffle using MPRIS (#318)
* Added possibility to turn shuffle on/off via MPRIS

* Simplified code to use unwrap_or instead of a match.
Changed the default value to be retrieved from spotify.

* only set shuffle setting if parameter was passed

* fix: fetch shuffle state with every MPRIS query

And not just once during DBus/MPRIS setup. Also, redraw UI when shuffle
state has changed.

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-11-14 21:50:13 +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
Bolli
d88ea93a94 feat: create new empty playlist via command (#272)
* feat: create new empty playlist via command

- type :newplaylist <name> to create a new playlist

fixes #242

* use full argument string for playlist name

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-10-25 17:57:49 +01:00
Henrik Friedrichsen
5fb4eb7af2 fix: update playlist changes in local store
Move playlist change logic out of the library while we're at it and notify
the library of changes instead.

fixes #302
2020-10-25 00:09:23 +02:00