dioni

Crates.iodioni
lib.rsdioni
version1.1.0
sourcesrc
created_at2020-08-04 22:51:30.737047
updated_at2020-08-05 23:40:09.073114
descriptionReal random for Spotify!
homepage
repositoryhttps://github.com/Nhanderu/dioni/
max_upload_size
id273041
size67,637
Rafael Escobar (Nhanderu)

documentation

README

Dioni

License Crates.io

A CLI that shuffle plays your saved tracks on Spotify.

Why

I may be too paranoid, but I always felt like Spotify's shuffle play is fake. It seems to play the same bands, or at least have some kind of intelligence behind it.

So this project was born with the intention of having a true random queue with your saved tracks.

But, again, I may be just too paranoid.

Things you need to know

  • It asks for your authentication opening your browser.
  • It caches the authentication token so it doesn't authenticate again. You can force authentication again with the flag --force-auth.
  • The cache path is defined by $DIONI_CACHE. If not defined, it tries $XDG_CACHE_HOME/dioni. If it's also not defined, it gets the default cache dir for you OS (Linux: ~/.cache, Mac: ~/Library/Caches, Windows: ~\AppData\Local) plus /dioni. You can check it via --cache-path flag.
  • If the directory in the cache path doesn't exists, it'll be created.
  • If your total liked tracks exceeds our limit, it's gonna ask if you want to add them in the queue. This can be pre-defined with the flags --ignore-excess and --add-excess-to-queue.

Install

Brew

brew tap Nhanderu/packages
brew install dioni

Cargo

cargo install dioni

Run

dioni

Runs the program with default configuration.

Flags

-h or --help

Shows the CLI help message.

-v or --version

Shows the CLI version.

-q or --quiet

Runs the program without writing to stdout. Requires --add-excess-to-queue or --ignore-excess.

--ignore-excess

Ignore songs that exceed the Spotify limit.

--add-excess-to-queue

Add songs that exceed the Spotify limit to the queue.

-a or --force-auth

Clears the authentication cache, forcing it to ask for authentication again.

--cache-path

Shows the cache path.

License

This project code is in the public domain. See the LICENSE file.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be in the public domain, without any additional terms or conditions.

Commit count: 0

cargo fmt