Commit Graph

281 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Henrik Friedrichsen
082675a5d7 push help view to stack instead of making it a separate screen
fixes #157
2020-03-21 15:51:35 +01:00
dann-merlin
9e68ed0ba6 Actually set volume when reading in from config 2020-03-18 20:45:14 +01: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
dann-merlin
45858df8a3 Volume configurable range 0-100 2020-03-03 18:05:03 +01:00
dann-merlin
56a178dcfd Added configuration option for initial shuffle, repeat, volume 2020-03-03 18:05:03 +01:00
Panagiotis Vasilopoulos
404ba65faf removed unnecessary parentheses 2020-02-29 17:15:10 +01:00
Henrik Friedrichsen
d2915316da various non-functional code cleanups 2020-02-21 23:33:08 +01:00
Tobias Langendorf
363e71242a Shuffle: Start with random track if not selecting track directly
Starting a playlist, album or artist with shuffle enabled always
starts on the first track in it and then plays the rest of the
queue shuffled.
This changes it so unless a track is picked directly, playback
will start on a random track of the selection.
2020-02-21 18:42:31 +01:00
Henrik Friedrichsen
54230bd85b show commands in help screen in the same syntax they are parsed 2020-02-05 22:48:35 +01:00
Henrik Friedrichsen
cea2cbb33e remove unused cfg parameters 2020-02-05 22:08:11 +01:00
Henrik Friedrichsen
90d19b1b2d drop broken proxy setting and rely on ENV['http_proxy'] instead
fixes #118
fixes #119
2020-02-05 21:50:46 +01:00
Henrik Friedrichsen
fa960a4eba add initial help screen + keybinding -> command parsing
still needs some more work, i.e. to show commands in help instead of parsed data
structures, but it's a start.

fixes #117
fixes #121
2020-02-02 21:51:40 +01:00
Henrik Friedrichsen
bf2a72ad81 expose keybindings in CommandManager for help view 2020-02-02 20:38:55 +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
Jonas Frei
9916d2c7b8 Changed 'seek' keybinding to match ncmpcpp and added fast-seek 2020-01-21 21:39:06 +01:00
Henrik Friedrichsen
c6f70706fe ramp volume in logarithmic scale
see also:
6c6ba88590/connect/src/spirc.rs (L188)
https://www.dr-lex.be/info-stuff/volumecontrols.html#ideal2
2020-01-16 21:38:52 +01:00
Henrik Friedrichsen
a5da4897de implement software volume mixing
closes #115
2020-01-11 18:11:41 +01:00
Henrik Friedrichsen
bde9db2c38 fix parsing of '+' keybinding
since it is also the delimiter for keybindings with modifiers, it needs special
treatment
2020-01-11 18:09:43 +01:00