Commit Graph

492 Commits

Author SHA1 Message Date
Henrik Friedrichsen
52e2a53839 Fix: process command bindings in play track menu 2022-04-25 22:52:49 +02:00
Bettehem
b1f3984917 Added option to play track from context menu dialog (#790)
* Added Play Track option to a track's context menu. Works with arrow keys but j and k don't yet work.

Fixes #786
2022-04-22 06:09:10 +02:00
Ronak Buch
f981b64687 Only download cover image when flag enabled (#780)
* Only download cover image when flag enabled

* fixup! Only download cover image when flag enabled
2022-04-18 17:10:56 +02:00
Henrik Friedrichsen
ee6d26baf3 Fix: only reuse notification on XDG platforms
Fixes compilation on Windows
2022-03-22 22:17:00 +01:00
Henrik Friedrichsen
1a7b5f90da Reuse previous notification id
According to XDG specs, passing the previous notification ID will update it
instead of displaying a new notification.

Fixes #760
2022-03-22 22:02:37 +01:00
Henrik Friedrichsen
90dd1a03d2 Set notification app name to ncspot
In hopes of fixing #760
2022-03-22 00:15:04 +01:00
Henrik Friedrichsen
61b1797527 Consume move playing in queue view
Fixes #759
2022-03-12 00:00:50 +01:00
Henrik Friedrichsen
c42d36fa5d Consume move left/right commands in ListView
Fixes #711
2022-03-11 23:58:15 +01:00
Henrik Friedrichsen
ee1d0ae7db Enable gapless by default
Fixes #735
2022-02-27 00:03:30 +01:00
Henrik Friedrichsen
f229dfc814 Fix: make album sorting case-insensitive
Fixes #724
2022-02-18 22:39:21 +01:00
Henrik Friedrichsen
a491a20de2 Enable autojump for playlist selection list
It's not a full search, but a quick win

#225
2022-02-18 22:25:36 +01:00
Henrik Friedrichsen
bb066c774b Clippy cleanups 2022-02-18 22:10:21 +01:00
Henrik Friedrichsen
2a14a6de43 Fix clap deprecation warnings 2022-02-18 22:05:29 +01:00
Roger Roger
23bae723eb Improve playlist sorting
Add secondary and tertiary sorting options to behave more like spotify
when sorting by artist or album.
2022-02-11 10:41:18 +01:00
Henrik Friedrichsen
8eebf89166 Remove log leftovers 2022-01-28 14:03:47 +01:00
Rashil Gandhi
f29d263f41 Remove notifications' dependency on 'cover' (#706)
* Move functions from 'cover' to 'utils'

* Remove notify dependency on 'cover'

* Enable clipboard and notifications in CI/CD

* remove extra newline
2022-01-15 21:09:34 +01:00
Henrik Friedrichsen
1a63efa69e Fix: consume save command in ListView
fixes #710
2022-01-14 19:13:57 +01:00
Henrik Friedrichsen
2653bad382 Fix: relayout on first render 2022-01-14 19:10:47 +01:00
Henrik Friedrichsen
e5d51d63a3 Fix: don't show error if user moves over list edge
Ignore this error, as it's common user behavior and an error is distracting.
2022-01-14 19:01:56 +01:00
Henrik Friedrichsen
adf8da2fc5 Move from ScrollBase to scroll module
`ScrollBase` is deprecated
2022-01-13 21:09:26 +01:00
Henrik Friedrichsen
06c6ea316e Migrate to cursive 0.17 2022-01-11 20:42:50 +01:00
Henrik Friedrichsen
68b3b9b510 Fix warnings 2022-01-09 21:39:14 +01:00
cyqsimon
ba36f98367 seek spits out correct error when used with no args 2022-01-04 09:21:43 +01:00
Csaba Varró
f0a2cd79ff Remove panics in the update_token flow (#688)
It caused a crash when the token failed to update
2022-01-01 21:43:12 +01:00
dependabot[bot]
4d1388e5bd Bump clap from 2.34.0 to 3.0.0 (#689)
* Bump clap from 2.34.0 to 3.0.0

Bumps [clap](https://github.com/clap-rs/clap) from 2.34.0 to 3.0.0.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v2.34.0...clap_complete-v3.0.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Adapt to clap v3 changes

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2022-01-01 21:04:02 +01:00
cyqsimon
9771c36c7b More detailed error message in case of command parse error (#684)
* Refactored `command::parse`

* Removed unnecessary duplication in error msg

* Renamed `NotEnoughArgs` -> `InsufficientArgs`

* Inaccurate var name

* Ditch wordy error prefix

* Use `split_whitespace` instead of regex

* Cleanup unused regex import

* `insert` cmd fails fast

* Refactor: use `and_then` instead of `unwrap`

* Updated `Command::to_string`

* Added `Command::basename`

* Better err msg when running cmd in unsupported view, fully closes #597

* Sort `match` branches by their order in the enum
2022-01-01 20:48:34 +01:00
Henrik Friedrichsen
075ecd0e24 Set terminal title to ncspot
Fixes #685
2021-12-31 16:18:48 +01:00
cyqsimon
17867685ab Improved README (#683)
* auto generate table of contents

* cspell check

* Added `single` alias to repeat mode `track`

* Updated command documentation

* Reformat command table
Removed the "alias" column since it takes up too much space.
2021-12-27 16:34:56 +01:00
cyqsimon
e0ec759730 Improved seek command to allow more units (#682)
* `seek` command accepts fancy duration

* Use default formatting

* Better var naming

* Documented `seek` command
2021-12-27 09:28:49 +01:00
Henrik Friedrichsen
299c470cf9 Add exec command
Fixes #673
2021-12-17 20:57:52 +01:00
Bettehem
3324094974 Added Wayland clipboard support. (#666)
* Fixed MPRIS OpenUri function not respecting ncspot's shuffle setting.

* Added support for Wayland clipboard.

* Formatted code properly using cargo fmt.

* Added is_wayland() function to check if using Wayland.

* Added wayland_clipboard feature flag.
It can be used to enable Wayland clipboard support.
Changed is_wayland() function to check wayland related environment
variables at runtime and not compile time.
2021-12-09 11:55:44 +01:00
Henrik Friedrichsen
240a0a7c41 Fix: Play multiples of Track and Playable
With the migration to rspotify 0.11.x playlists were changed to be a list of `Playable`
instead of `Track` items, so that playlists can contain podcast episodes.
This needs to be considered when collecting all tracks for playback in `ListView`.

Should help with #667
2021-12-08 21:32:36 +01:00
Henrik Friedrichsen
dc977d758e Fix serialization of jump commands 2021-12-07 21:36:36 +01:00
Felix
3d43081df3 Added jumpnext and jumpprevious as commands 2021-12-07 16:35:52 +01:00
Bettehem
3808adced6 Fixed MPRIS OpenUri function not respecting ncspot's shuffle setting. 2021-12-01 21:17:39 +01:00
Henrik Friedrichsen
550fa6acf4 Add cache_version flag to saved state
Can be used to determine whether the cache file format has been broken after an update.
If so, the cache will be discarded and recreated.
2021-11-30 20:43:58 +01:00
Henrik Friedrichsen
b826552a1c Fix: Save track ID instead of URI
fixes #661
2021-11-30 20:16:41 +01:00
Henrik Friedrichsen
ebc49117b0 Update rspotify to 0.11.3 (et al)
Also allows us to revert the previously applied fix where the market parameter had to be removed.
2021-11-29 22:43:06 +01:00
Henrik Friedrichsen
048658a529 Show playlist owner name
Requires clearing the playlist cache:
`rm ~/.cache/ncspot/playlists.db`

fixes #652
2021-11-22 20:28:33 +01:00
Henrik Friedrichsen
e83ea5b833 Don't set market for user albums
Workaround until next rspotify is released

Fixes #650
2021-11-20 20:52:40 +01:00
Henrik Friedrichsen
74b4e65b64 Refactor: move playable models to separate module 2021-11-08 20:44:21 +01:00
Henrik Friedrichsen
96f2d88696 Update to rspotify 0.11.2 (#640)
* Update to rspotify 0.11.x

Many breaking changes

* Minor cleanups via Clippy
2021-11-07 17:19:56 +01:00
Henrik Friedrichsen
6a0ab196f2 Fix: stop player when Spotify worker thread dies
May help with #628
2021-10-18 22:08:45 +02:00
Matheus Cardoso
1ea2f0a434 Fix key bindings inconsistency (#627) 2021-10-17 15:31:42 +02:00
John M. Merchant
25505be540 modified library.rs to sort after saving an album (#428)
* modified library.rs to sort after saving an album

* Reformat

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2021-10-15 17:43:00 +02:00
Henrik Friedrichsen
ec640581bc Add initial_screen config variable
Resolves #616
2021-10-15 17:20:12 +02:00
George Hafiz
49f2d40b44 Add userRating entity to mpris metadata, with 0 and 1 corresponding to unsaved/not-liked and saved/liked in Spotify, respectively. 2021-10-15 16:26:37 +02:00
Henrik Friedrichsen
0c69e991b8 Upgrade to librespot 0.3.0
- logarithmic volume conversion is now done by librespot
- use default normalisation threshold
2021-10-14 23:41:00 +02:00
Henrik Friedrichsen
a78bbe6684 Add redraw command and bind to CTRL+L
solves #609
2021-10-01 18:44:25 +02:00
Henrik Friedrichsen
e0a0987f1a Add "Share album" contextmenu entry
Fixes #606
2021-09-24 22:56:37 +02:00