Commit Graph

996 Commits

Author SHA1 Message Date
dependabot[bot]
f7e415666a Bump toml from 0.5.11 to 0.7.2
Bumps [toml](https://github.com/toml-rs/toml) from 0.5.11 to 0.7.2.
- [Release notes](https://github.com/toml-rs/toml/releases)
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.5.11...toml-v0.7.2)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-19 14:02:04 +01:00
Henrik Friedrichsen
6fc99541e1 cargo update 2023-02-19 00:11:10 +01:00
Thomas Frans
a3c4989571 Switch from MM:SS to HH:MM:SS duration representation if needed
* Contidionally switch from MM:SS to HH:MM:SS duration representation if needed.

* Correct tiny style issue.

* --amend
2023-02-17 09:22:12 +01:00
Thomas Frans
829b799cc5 Fix clippy warnings. 2023-02-16 13:33:56 +01:00
Henrik Friedrichsen
8222f1b2e4 Use variables directly inside format strings
Most systems should have an up to date Rust compiler by now, so we should be
fine.
2023-02-06 20:15:43 +01:00
Henrik Friedrichsen
2fe3b056bf Raise SIGTSTP on UNIX and ncurses backend
See also: gyscos/cursive#521

Fixes #1040
2023-02-06 20:01:48 +01:00
Henrik Friedrichsen
5e950b6c2c cargo update 2023-02-03 20:44:53 +01:00
Harold Nieuwboer
8c0fbe5f43 Theme config support for HighlightInactive 2023-02-03 17:47:27 +01:00
Simon Vandevelde
25680bc9b4 Add info on extracting currently playing to README (#1038)
* Add info on extracting currently playing

* Add word

---------

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2023-01-31 23:53:32 +01:00
Henrik Friedrichsen
7e974bb7ce Bump version to 0.12.0 2022-12-29 00:17:52 +01:00
Henrik Friedrichsen
ec4b7c209a Create IPC socket on UNIX platforms (#1018)
* Create IPC socket on UNIX platforms

Creates an IPC socket which remote programs/scripts can connect to. This
can be used to control ncspot or fetch the current playback status.

At the moment, only remote control is implemented. Next step is to send
the current player status as a JSON object.

Fixes #524

* Publish status changes to connected sockets

Whenever the playback mode (playing, paused, stopped) or the track changes, all
socket listeners will be notified.

Fixes #924, fixes #1019

* Document IPC feature
2022-12-28 19:01:59 +01:00
Henrik Friedrichsen
93816af654 Linter fixes 2022-12-28 14:37:08 +01:00
Henrik Friedrichsen
cf78f1aed3 cargo update 2022-12-28 14:33:20 +01:00
Henrik Friedrichsen
703ffc76ba Refactor: Don't clone references 2022-12-15 23:42:55 +01:00
Henrik Friedrichsen
23e9ecfd5c Upgrade rspotify to 0.11.6
Passing IDs to rspotify still feels a little wonky with their `Id` changes
making use of `Cow`. Maybe it can be simplified on our end, but it's a start.

Fixes #844

See also:

https://github.com/ramsayleung/rspotify/pull/332
2022-12-14 21:12:08 +01:00
Thomas Frans
7063c9a9aa Document queue module. 2022-12-13 23:25:27 +01:00
Henrik Friedrichsen
8e54abf341 Add Flathub link
Fixes #997
2022-12-12 15:33:17 +01:00
Thomas
ccce78af66 Convert main from async to sync again
* Make entry point synchronous and switch to global runtime instead.

* Switch all futures::block_on() to global runtime.

* Fix formatting.
2022-12-11 19:09:22 +01:00
Henrik Friedrichsen
7751afafd2 cargo update 2022-12-07 17:09:48 +01:00
Thomas Frans
8a41815bb2 Add back PanicInfo to backtrace. 2022-12-07 17:03:40 +01:00
Henrik Friedrichsen
0a6dd20d54 cargo update 2022-12-03 12:44:18 +01:00
pghvlaans
92a7903825 main.rs: println before setting up cursive backend. (#969)
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2022-11-24 20:52:23 +01:00
Henrik Friedrichsen
5c1fe9331a Remove mention of RUST_BACKTRACE
See also https://github.com/hrkfdn/ncspot/pull/988#issuecomment-1320562882
2022-11-18 22:49:44 +01:00
Thomas
e15657ae67 fix(backtrace): Fix backtrace logging and stdout (#988)
* fix(backtrace): Fix backtrace logging and stdout
- Add manual implementation for panic that logs backtrace to a file.
- Remove all manual output to stdout.
- Fix new clippy warnings from Rust 1.65.

* Update docs

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2022-11-18 22:20:57 +01:00
Henrik Friedrichsen
3db8d02295 cargo update 2022-11-16 21:05:54 +01:00
Henrik Friedrichsen
1dcebeace1 Add "save/unsave album" to context menu
Fixes #964
2022-10-22 14:20:43 +02:00
Henrik Friedrichsen
0ffcb212bc cargo update 2022-10-22 14:10:28 +02:00
Thomas
6a5efb1052 Fix Clone impl marked todo on Pagination
- Fixed a manual implementation of Clone on Pagination (needed extra
  trait bounds to be derivable)
- Made clippy happy :)
2022-10-19 22:02:39 +02:00
Henrik Friedrichsen
05d221aada Bump version to 0.11.2 2022-10-15 12:48:44 +02:00
Henrik Friedrichsen
03ffbbc6d8 cargo update 2022-10-15 12:47:32 +02:00
Henrik Friedrichsen
bcd51ee33a cargo update 2022-10-07 23:05:49 +02:00
Henrik Friedrichsen
5dcbc18f85 Save current state on SIGHUP as well
Fixes #948
2022-10-04 08:30:18 +02:00
Henrik Friedrichsen
b1f1c20484 Exit gracefully on SIGTERM
* Exit gracefully on `SIGTERM`

Save current state and close ncspot on `SIGTERM`

Fixes #948

* Disable signal handling on non-UNIX platforms
2022-10-03 00:07:40 +02:00
dependabot[bot]
222b41c9cf Bump wl-clipboard-rs from 0.6.0 to 0.7.0
Bumps [wl-clipboard-rs](https://github.com/YaLTeR/wl-clipboard-rs) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/YaLTeR/wl-clipboard-rs/releases)
- [Changelog](https://github.com/YaLTeR/wl-clipboard-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/YaLTeR/wl-clipboard-rs/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: wl-clipboard-rs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 22:11:50 +02:00
Henrik Friedrichsen
c2ab691722 Upgrade to Clap v4 2022-10-02 22:11:10 +02:00
Henrik Friedrichsen
9464c3da77 cargo update 2022-10-02 21:52:31 +02:00
Thomas Frans
655d663aed Fix: fixes a bug that crashed ncspot.
Like mentioned in the corresponding issue by ayushjaipuriyar, ncspot
would crash when the queue was empty, shuffled, and played. This commit
fixes that, together with some minor clippy fixes.
2022-10-02 21:46:57 +02:00
Thomas Frans
be7ed20897 Cleanup: Remove PlayTrackMenu
PlayTrackMenu was used before the refactor of the contextmenus. I forgot
to clean up the struct before making the commit since rustc didn't
complain. Just cleaning up my mistakes ;)
2022-09-23 13:38:32 +02:00
Thomas
0eedc38b8a Improve context menus to make the UX/UI more consistent (#923)
* Add save option to context menu of all possible ListItems

* Add play options to context menus

* Fix for playlists and tracks

* Move playback controls into main menu
2022-09-20 22:09:51 +02:00
Henrik Friedrichsen
ccbc382144 Bump version to 0.11.1 2022-09-17 14:27:18 +02:00
Henrik Friedrichsen
efb8d8e874 cargo update 2022-09-17 14:19:38 +02:00
Henrik Friedrichsen
a668574376 Fix: properly set up Browse screen
Previously two vectors of categories were created. The pagination was set up to
store the newly fetched page in the `Vec` that was not displayed.

With this change newly fetched pages should correctly show up in the "Browse"
screen.

As reported in #939
2022-09-16 22:12:37 +02:00
Thomas Frans
2be126430d Fixed pagination bug that caused items not to load 2022-09-16 21:31:47 +02:00
Henrik Friedrichsen
c1f0c5409c Fix: Re-request album tracks if it has >50 tracks
Fixes #926
2022-09-12 23:29:12 +02:00
Henrik Friedrichsen
f4ef7e1b56 Fix: remove broken staleness detection
Ever since albums were sorted the cache staleness detection stopped working as
the order of items plays into the check. Remove it as it currently doesn't
work. It also wasn't a very good check.
2022-09-12 23:16:06 +02:00
Henrik Friedrichsen
63722c5be3 Fix: Use buffered backend to prevent flickering
This is reported to be occuring with the Cursive Termion backend as it redraws
the screen every time, resulting in flickering for some users.

Should be removed once Cursive has integrated this.

See also:
- https://github.com/gyscos/cursive/issues/142
- https://github.com/gyscos/cursive/issues/667

Fixes #934
2022-09-11 23:34:24 +02:00
Henrik Friedrichsen
e6a01da3cd Update to cursive 0.2.0 2022-09-11 23:20:13 +02:00
Henrik Friedrichsen
771b31a6b3 Dependency updates 2022-09-03 16:42:41 +02:00
Henrik Friedrichsen
10213f9bcf Fix: set track position only for clicks, not hold
Fixes #920
2022-08-29 21:45:29 +02:00
Henrik Friedrichsen
816d2f133d Mouse wheel: scroll up/down without changing focus
Fixes #918
2022-08-25 22:53:03 +02:00