Commit Graph

259 Commits

Author SHA1 Message Date
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
Henrik Friedrichsen
e8f8b25de7 get version during compile time from cargo metadata 2019-11-30 17:39:34 +01:00
Henrik Friedrichsen
feee204f9c sort albums in library by artist -> year -> album title
fixes #111
2019-11-30 17:32:33 +01:00
Henrik Friedrichsen
85e9e99d87 rebind + change playlist update command to update entire library 2019-11-30 17:13:41 +01:00
Henrik Friedrichsen
0695434ca0 fix: recursively create directories instead of failing
e.g. when ~/.config does not exist
2019-11-24 16:39:15 +01:00
Henrik Friedrichsen
e697b97d8c major dependency cleanup
- depend on specific librespot crates to remove clutter
- update versions

this should also help building on openbsd, as the unused librespot-connect
depended on the nix crate, which does not build on openbsd.
2019-11-24 16:38:15 +01:00
Henrik Friedrichsen
177c4893e0 add proxy configuration value
+ document possible configuration options

fixes #109
2019-11-21 22:45:09 +01:00
Henrik Friedrichsen
ed1dc2e22e implement saving selected tracks directly to playlists
closes #103
2019-11-02 23:19:12 +01:00
Henrik Friedrichsen
6bf1d662dc minor code cleanups 2019-11-02 23:18:34 +01:00
Henrik Friedrichsen
31a8119749 draw pagination indicator if applicable 2019-10-31 12:30:25 +01:00
Henrik Friedrichsen
dc427e3ba2 formatting + clippy cleanups 2019-10-31 12:30:25 +01:00
Henrik Friedrichsen
4defded546 fix slicing of playlists when saving large lists
playlist updates need to be submitted in batches of max 100 previously, it would
submit the entire rest after submitting the first 100 via
user_playlist_replace_tracks, which was rejected by the server.

fixes #99
2019-10-12 19:28:18 +02:00
Henrik Friedrichsen
d01dad9a57 use spotify user id from librespot session for web api requests
fixes broken web api requests for users who logged in with their email address

fixes #98
2019-10-12 16:15:53 +02:00
Henrik Friedrichsen
82a199b5d2 update rspotify to 0.7.0 2019-10-12 16:15:07 +02:00
Henrik Friedrichsen
ec0817c4dc Merge pull request #93 from xentrick/develop
Added additional dbus support
2019-10-09 22:51:58 +02:00
Henrik Friedrichsen
a7b5b926ed Merge pull request #94 from thiagolopes/develop
Add emacs navigation keybindings
2019-10-09 22:51:16 +02:00
Henrik Friedrichsen
0eea154400 update dependencies 2019-10-09 22:48:17 +02:00
thiagolopes
bd52869cce Add emacs navigation keybindings 2019-10-06 00:13:53 -03:00
Nick Mavis
f48871a98a Added additional dbus support 2019-10-02 10:50:36 -04:00
Henrik Friedrichsen
498724e2a4 fix: trigger UI redraw after fetching artist data in separate thread
fixes #91
2019-09-08 21:11:59 +02:00
Henrik Friedrichsen
b7a6903908 fix: use signed datatypes for length/trackNumber
as defined per specs:

https://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata/#index2h4

fixes #89
2019-09-01 21:32:42 +02:00
Henrik Friedrichsen
7aa70fcb6b fix deprecation warnings caused by old trait object syntax 2019-09-01 01:32:50 +02:00
Henrik Friedrichsen
9a38eaa535 rework mpris notification of PropertiesChanged
as sending out PropertiesChanged events was triggered asynchronously by a
message queue, retrieving the metadata during message formatting is too late.

this resulted in two PropertiesChanged messages announcing the new track as
playing.

this should prevent such a scenario.

as discussed in #89
2019-09-01 01:10:35 +02:00