pin
b5e718f5f6
Use libc for setlocale() to fix non-ASCII ( #256 )
...
* Use libc for setlocale() to fix non-ASCII
character printing.
https://github.com/hrkfdn/ncspot/issues/221
* move string instantiation outside unsafe block
update libc crate while at it
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2020-08-29 11:27:47 +02:00
Henrik Friedrichsen
1edf28a165
make contextmenu aware of commands
...
e.g. to process vim-like keybindings for navigation
fixes #108 , fixes #157 , fixes #178 , fixes #199 , fixes #250
2020-08-23 20:44:03 +02:00
Henrik Friedrichsen
e5bc12b1ba
use cfg of spotify object
...
TODO:
- apply this to other single config values that are passed directly, e.g. in the
statusbar
- use a more appropriate object to hold `cfg`
2020-08-18 23:06:41 +02:00
Ronak Buch
097f59eb83
Add notifications
2020-08-18 23:06:38 +02:00
Henrik Friedrichsen
4f71b2489b
implement command to reload config ( #243 )
...
* implement command to reload themes
* refresh keybindings after config reload
2020-08-12 01:12:08 +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
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
8013609d0e
recreate librespot session when it's invalid
...
initial attempt to handle #192
2020-06-13 20:23:28 +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
b5566351b5
use cached credentials from librespot
...
attempt at fixing #160
2020-04-08 21:07:20 +02:00
Henrik Friedrichsen
1b0ac4d5cc
migrate to futures 0.3
2020-03-28 23:31:27 +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
Henrik Friedrichsen
dccb36d8e7
update to rust edition 2018 + bump version
2020-03-15 11:06:24 +01:00
dann-merlin
56a178dcfd
Added configuration option for initial shuffle, repeat, volume
2020-03-03 18:05:03 +01:00
Henrik Friedrichsen
d2915316da
various non-functional code cleanups
2020-02-21 23:33:08 +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
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
e8f8b25de7
get version during compile time from cargo metadata
2019-11-30 17:39:34 +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
cd80ace4a8
remove debug log spamming + log player events
2019-09-01 01:10:19 +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
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
1e0d9ea952
Handle default command behavior
2019-05-21 16:01:56 +02:00
Rasmus Larsen
1671db14c1
Move to enum-based commands
2019-05-20 22:15:12 +02:00
Henrik Friedrichsen
4b4a027c3c
add basepath cmdline flag
...
this allows a basepath to be set via commandline where ncspot will place
configuration and cache files.
fixes #65
2019-05-16 23:58:05 +02:00
Rasmus Larsen
de1dea5c68
Add a keybind and shortcut to share the currently playing song
2019-05-07 23:39:15 +02:00
KoffeinFlummi
a98a4645f6
Make library the default view
2019-04-28 11:56:59 +02:00
KoffeinFlummi
82dee638c5
Display saved status in statusbar
2019-04-28 11:04:59 +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
0bbba3c57d
remove clippy from CI for now, as it's too strict
2019-04-15 22:07:54 +02:00
Henrik Friedrichsen
8738472e87
test login credentials before entering main program
...
closes #58
this is a bit messy, as librespot panics, when authentication fails. thus, we
test the credentials in a separate thread to handle the panic.
see also: https://github.com/librespot-org/librespot/issues/108
2019-04-15 21:59:19 +02:00
Henrik Friedrichsen
990ba1fa29
fix: drop reference to main after usage to avoid double mut borrow
...
fixes a crash that occured when manually entering commands
2019-04-04 23:35:29 +02:00
Oscar Linderholm
65eb6c905a
Only allow owner read/write to credentials.toml
2019-04-04 21:15:55 +02:00
Henrik Friedrichsen
25fbdb8bde
force UI refresh after results are downloaded
2019-04-03 14:05:09 +02:00
KoffeinFlummi
d223aae9c7
Add album and artist searching
2019-04-02 08:31:17 +02:00
KoffeinFlummi
3f57111b7e
Handle keybindings immediately
2019-04-02 08:30:15 +02:00
Henrik Friedrichsen
d500466e2e
use webbrowser crate which is already a dependency in rspotify
2019-03-30 22:40:42 +01:00
Michael Edwards
d78e71871a
Credentials helper if config not present or unparseable
...
Fixes #1
2019-03-30 22:40:42 +01:00
Michael Edwards
dc88f7e3ee
Statusbar only needs nerdfont config
2019-03-30 22:40:42 +01:00
Henrik Friedrichsen
d7848ec333
code formatting + minor refactorings
2019-03-28 05:42:47 +01:00