Commit Graph

404 Commits

Author SHA1 Message Date
Henrik Friedrichsen
90cc4ffb65 update to librespot 0.1.3 2020-07-31 21:47:54 +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
9adab923d5 update to librespot 0.1.2
- make use of new player events
- remove `--locked` install note as it should not be required anymore (#179, #190, #212)
- `cargo update` dependencies
2020-07-23 01:04:18 +02:00
Henrik Friedrichsen
5c1c84fd08 update from yanked smallvec 1.4.0 to 1.4.1 2020-07-18 00:02:08 +02:00
Henrik Friedrichsen
f0c42afc7d bump to version 0.2.0 2020-07-17 23:49:47 +02:00
Henrik Friedrichsen
628f131085 fix: enable skipping via mouse for podcast episodes 2020-07-17 23:48:33 +02:00
Bettehem
578d2b2f0c fix mpris metadata returing Spotify URI instead of an url in xesam:url field (#222)
* 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"
2020-07-14 21:30:14 +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
8bf06147e2 add libdbus-1-dev to debian dependency list
fixes #205
2020-07-10 21:21:59 +02:00
Henrik Friedrichsen
e3bb179c8b cursive-core to 0.1.1 2020-07-10 21:14:25 +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
6f38c67ee3 fix: show checkmark for saved playlists instead of followed
`is_followed_playlist()` only works within the library context. In the search
view it almost always evaluates to `true` as most playlists are owned by other
users.

fixes #213
2020-07-08 22:27:24 +02:00
Daniel VG
99b495fa3c Fix "workarround" typo for "workaround" (#215)
See https://github.com/hrkfdn/ncspot/pull/214#issuecomment-653776631
2020-07-04 18:06:43 +02:00
Daniel VG
15b39dd8cb Add comment to use --locked (#214)
As described in: https://github.com/hrkfdn/ncspot/issues/212#issuecomment-652055797
2020-07-03 13:31:35 +02:00
Thomas Storey
e5419dae2d add methods and api usage to delete track from playlist (#211)
* wip: add methods and api usage to delete track from playlist

* enh: add ability to remove track from playlist with immediate visual feedback

* minor cosmetic changes

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-07-01 20:52:39 +02:00
Henrik Friedrichsen
ca1e8df361 minor dependency updates 2020-06-25 21:26:58 +02:00
Henrik Friedrichsen
a7b2a159a0 fall back to latest librespot release in preparation for release 2020-06-25 21:13:50 +02:00
Henrik Friedrichsen
4e9bfa16a2 Revert "migrate to rspotify 0.9-dev"
This reverts commit acc333460b.
2020-06-25 21:11:50 +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
Henry Snopek
0f08a56f90 [feat] add Command::Noop 2020-06-25 15:45:53 +02:00
Henry Snopek
d2eede2777 [feat] add Command::Help to command.parse 2020-06-25 11:09:48 +02:00
Henrik Friedrichsen
8188f9e304 fix: only clear credentials when they're invalid
fixes #77
2020-06-21 21:50:49 +02:00
Henrik Friedrichsen
65126c5c78 add configuration value to drop default keybindings
resolves #204
2020-06-18 19:33:46 +02:00
Henrik Friedrichsen
d36fb4fe40 handle lost channels to worker thread gracefully 2020-06-15 21:42:44 +02:00
Henrik Friedrichsen
b6772225e0 rely on librespot status instead of guessing when a track is playing 2020-06-15 21:08:58 +02:00
Henrik Friedrichsen
d7c170fec8 terminate worker thread as soon as possible to avoid race conditions 2020-06-14 19:57:33 +02:00
Henrik Friedrichsen
4d3c071328 report stopped playback when player task or session has died 2020-06-13 20:36:05 +02:00
Henrik Friedrichsen
8013609d0e recreate librespot session when it's invalid
initial attempt to handle #192
2020-06-13 20:23:28 +02:00
Henrik Friedrichsen
e55d0ac7ba switch to rspotify's new universal search method 2020-06-07 18:38:57 +02:00
Henrik Friedrichsen
20536580fc refactoring/simplifications (via cargo clippy) 2020-06-06 12:07:59 +02:00
Henrik Friedrichsen
acc333460b migrate to rspotify 0.9-dev
in preparation for the future release with podcast API support
2020-06-06 12:01:16 +02:00
Henrik Friedrichsen
ce5b11dac4 update to cursive 0.15.0 2020-06-02 23:19:21 +02:00
Henrik Friedrichsen
29dae905e5 cargo update 2020-06-02 23:19:20 +02:00
Henrik Friedrichsen
91ce808ef8 support configuration of audio backend and backend device
fixes #194
2020-05-19 00:05:32 +02:00
Henrik Friedrichsen
d04766160d implement audio_cache setting
fixes #196
2020-05-14 22:11:35 +02:00
Henrik Friedrichsen
85bc898830 implement volume normalization setting
fixes #195
2020-05-14 21:48:09 +02:00
Bettehem
2e89cc3d01 Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.
2020-04-27 10:33:31 +02:00
Henrik Friedrichsen
db93e3e07c mention MPRIS/media key support in keybinding section
fixes #183
2020-04-26 13:52:24 +02:00
Henrik Friedrichsen
2a1c34d334 add Fedora package names for compilation
fixes #180
2020-04-26 13:46:44 +02:00
Henrik Friedrichsen
51189c4d95 run apt update before installing dependencies 2020-04-23 21:58:01 +02:00
Henrik Friedrichsen
fcf86fc611 patch librespot-protocol until a new version is published
fixes #179
2020-04-23 20:43:56 +02:00
Henrik Friedrichsen
4e7af1c920 add command/binding to jump to currently playing track
fixes #181
2020-04-18 21:57:41 +02:00
Henrik Friedrichsen
510f1ff6ad add new themable color for selected + playing track
fixes #166
2020-04-09 23:50:56 +02:00
Henrik Friedrichsen
b5566351b5 use cached credentials from librespot
attempt at fixing #160
2020-04-08 21:07:20 +02:00
Felix Stupp
e4a600ced5 README: Added doc for intial / save state
Feature introduced by #127
2020-04-07 16:29:07 +02:00
Henrik Friedrichsen
85bd4eda8a fix: allow only one instance of help view on view stack
fixes #171
2020-04-02 21:22:12 +02:00
Henrik Friedrichsen
705a54c08c reformat + remove redundant closure 2020-04-02 21:21:51 +02:00
Marcin Sobczyk
07be9dc48d Command::Move: Add support for extreme moves
This patch adds a 'MoveAmount' enum that permits movements by integer
values or to abstract extremes which loosely translate to "top" for up
direction, "bottom" for down direction, etc. The goal behind the effort
is to add support for buttons like "Home" and "End".

The new enum has a 'Default' impl that yields a value of integer
movement by 1 field. This replaces the previous 'Option' wrap, that
in fact served the same purpose, with the value of '1' scattered
around different places in code.

Along with the enum, new commands have been defined to make use of it:

 - "move top"
 - "move bottom"
 - "move leftmost"
 - "move rightmost"
2020-03-31 10:49:08 +02:00
Henrik Friedrichsen
1b0ac4d5cc migrate to futures 0.3 2020-03-28 23:31:27 +01:00
Henrik Friedrichsen
c6b85f7d9b only stop playback if the last item was deleted AND playing
fixes #159
2020-03-22 09:06:08 +01:00