Commit Graph

443 Commits

Author SHA1 Message Date
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
Henrik Friedrichsen
cd80ace4a8 remove debug log spamming + log player events 2019-09-01 01:10:19 +02:00
Henrik Friedrichsen
980f6eb528 move to a separate save/delete binding approach
this is to address accidental deletions of playlists/tracks that some users
faced

closes #75

related #15
2019-08-13 21:59:11 +02:00
Henrik Friedrichsen
3151f31137 fix syntax error previously introduced by rustfmt
fixes #87
2019-08-13 16:54:21 +02:00
Henrik Friedrichsen
308cdb84c4 fix formatting 2019-08-13 11:56:35 +02:00
Henrik Friedrichsen
4067155e96 remove unused mutabilities 2019-08-13 11:50:31 +02:00
Henrik Friedrichsen
f7458b4137 make sharing to clipboard a feature that can be disabled
this is for users that want to eliminate dependences (e.g. libxcb).
the feature is enabled by default and must be explicitly disabled.

fixes #84
2019-08-13 11:49:27 +02:00
Henrik Friedrichsen
f4c640ca2b fix: sort playlists in the same order spotify sends them out 2019-06-24 22:13:52 +02:00
Henrik Friedrichsen
c7a09dc5f0 extend ContextMenu by sharing item 2019-06-15 17:26:38 +02:00
Henrik Friedrichsen
d213e8a54c introduce new context menu for simplified controls
as outlined in #75
2019-06-10 00:07:18 +02:00
Henrik Friedrichsen
96a0e9f9d6 add type coercion helper to ListItem objects 2019-06-09 23:57:47 +02:00
Henrik Friedrichsen
b59e9b38e6 add CommandResult for modal views 2019-06-09 23:55:12 +02:00
Rasmus Larsen
db7a09c87b Command parser 2019-05-21 18:11:54 +02:00
Rasmus Larsen
5500b34887 Remove dead code 2019-05-21 16:34:50 +02:00
Rasmus Larsen
4343343ee7 Implement silent default non-behaviour of a few commands 2019-05-21 16:05:12 +02:00
Rasmus Larsen
1e0d9ea952 Handle default command behavior 2019-05-21 16:01:56 +02:00
Rasmus Larsen
0beaa82a1f Clippy fixes 2019-05-20 22:32:28 +02:00