Commit Graph

61 Commits

Author SHA1 Message Date
Henrik Friedrichsen
8d8c79616c cargo fmt 2020-07-31 22:23:03 +02:00
Bettehem
413703a310 Podcast support improvements. (#229)
* 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.
2020-07-26 11:29:43 +02:00
Henrik Friedrichsen
1b1d392ab8 podcast support (#203)
* implement search for shows/podcasts

* create Playable supertype for queue to contain tracks and episodes

* wip: implement playback of episodes

* load spotify id from uri instead of raw id to fix podcast playback

* show duration for podcast episodes

* implement generic status bar for playables (tracks and episodes)

omit saved indicator for now as the library does not yet support podcasts

* instead of only the last 50 fetch all episodes of a show

* refactor: extract Playable code to separate file

* implement playback/queuing of shows + sharing url

* implement podcast library

* migrate mpris code to Playable supertype
2020-07-14 10:38:22 +02:00
Henrik Friedrichsen
bb89d189ae migrate to rspotify 0.10.0
in preparation for the future release with podcast API support
2020-07-10 21:10:56 +02:00
Henrik Friedrichsen
03045ba256 Revert "switch to rspotify's new universal search method"
This reverts commit e55d0ac7ba.
2020-06-25 21:11:45 +02:00
Henrik Friedrichsen
e55d0ac7ba switch to rspotify's new universal search method 2020-06-07 18:38:57 +02:00
Henrik Friedrichsen
dccb36d8e7 update to rust edition 2018 + bump version 2020-03-15 11:06:24 +01:00
Henrik Friedrichsen
eac5884627 make TAB or ESC toggle between search input
closes #132
2020-03-05 11:47:06 +01:00
Henrik Friedrichsen
d2915316da various non-functional code cleanups 2020-02-21 23:33:08 +01:00
Henrik Friedrichsen
8924b85390 fix deprecation warnings that occured due to cursive 0.14.0 upgrade 2020-02-02 20:10:21 +01:00
Henrik Friedrichsen
2039878144 update to cursive 0.14.0 2020-02-02 19:55:26 +01:00
Henrik Friedrichsen
7aa70fcb6b fix deprecation warnings caused by old trait object syntax 2019-09-01 01:32:50 +02:00
Henrik Friedrichsen
4067155e96 remove unused mutabilities 2019-08-13 11:50:31 +02:00
Rasmus Larsen
0beaa82a1f Clippy fixes 2019-05-20 22:32:28 +02:00
Rasmus Larsen
1671db14c1 Move to enum-based commands 2019-05-20 22:15:12 +02:00
KoffeinFlummi
386ac8b896 cargo fmt 2019-04-28 11:59:12 +02:00
KoffeinFlummi
662b718a4c Lazy-load non-library playlists
Fix #62
2019-04-28 11:31:32 +02:00
KoffeinFlummi
754d6d5c04 Move playlist methods out of library.rs 2019-04-28 10:32:54 +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
adba809327 Display saved/followed checkmark 2019-04-18 14:04:40 +02:00
KoffeinFlummi
210c7d9f4e Implement saved tracks, albums, and artists 2019-04-16 19:52:22 +02:00
Henrik Friedrichsen
ea4ea5a853 implement pagination for search results
closes #5

Ideally we should implement some indication in the UI that more search results
can be retrieved by scrolling down further.
2019-04-10 14:30:29 +02:00
Henrik Friedrichsen
f9f4c52139 make use of compiler type derivation 2019-04-10 14:22:35 +02:00
Henrik Friedrichsen
a6f96d86ba refactor search (lots of duplicate code) 2019-04-10 14:04:09 +02:00
Oscar Linderholm
63f2342477 Set focus to search results tab 2019-04-10 14:04:09 +02:00
Oscar Linderholm
9ea78a9e6e Add support for Spotify URI searches 2019-04-10 14:04:09 +02:00
Oscar Linderholm
5981b08458 Refactor the simplified playlist function 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
Henrik Friedrichsen
25fbdb8bde force UI refresh after results are downloaded 2019-04-03 14:05:09 +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
c42c144ccf Use seperate threads for search 2019-04-02 08:30:42 +02:00
KoffeinFlummi
3c7b3e3618 Add tabview, add playlists to search 2019-04-02 08:30:42 +02:00
KoffeinFlummi
626ee79654 Pass focus cmd through, fix search keybinding 2019-04-02 08:30:15 +02:00
Henrik Friedrichsen
d7848ec333 code formatting + minor refactorings 2019-03-28 05:42:47 +01:00
KoffeinFlummi
486bc7617e Refactor command handling 2019-03-28 03:05:25 +01:00
Henrik Friedrichsen
0e3c9fc504 use constants for listview IDs and search edit 2019-03-26 21:28:25 +01:00
Henrik Friedrichsen
5c6aa593d8 restore old EditView behaviour in search
closes #49
2019-03-26 21:07:34 +01:00
Henrik Friedrichsen
4f8342da83 refactorial spring cleaning (cargo fmt + clippy) 2019-03-26 20:51:39 +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
2e8fbae89e cargo fmt 2019-03-20 23:10:37 +01:00
KoffeinFlummi
b7e0e87e44 Add scroll bar to ListView, remove ScrollView 2019-03-20 22:32:45 +01:00
Henrik Friedrichsen
e0d1d456f4 select first item in listviews initially 2019-03-17 23:03:35 +01:00
Henrik Friedrichsen
32b1c4f583 the spelling focused is much more common 2019-03-17 19:38:06 +01:00
Henrik Friedrichsen
c74b5786f2 make TAB switch between search field and list view 2019-03-17 18:53:45 +01:00
Henrik Friedrichsen
da4f39ffba Merge branch 'keybindings' of git://github.com/KoffeinFlummi/ncspot into KoffeinFlummi-keybindings 2019-03-17 15:45:13 +01:00
KoffeinFlummi
5a85619105 Add rebindable keys, refactor lists 2019-03-17 04:29:29 +01:00
Henrik Friedrichsen
502ac36de3 get rid of the panel wrapper for more space
the screen title is now displayed by the layout
2019-03-07 22:34: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