4 stable releases
1.0.3 | Oct 12, 2024 |
---|---|
1.0.2 | Aug 8, 2024 |
#733 in Command line utilities
344 downloads per month
150KB
781 lines
Sortify
A command line application to organize Spotify playlists.
Using Sortify, you can choose a playlist as the source playlist, and then have the option to sort each track in it. When sorting, you choose destination playlists to add that track to. When sorted, tracks are added to the other playlists, removed from the source, and added to your liked songs.
This is mostly a personal project to help in the very specific way I use Spotify:
- I have a playlist called buffer to which I add all songs I hear about
- After a while of listening to buffer, I go through a bunch of the songs in it and for each either
- Discard it if I didn't like it very much; or
- Add it to my liked songs and to some playlist which matches its vibe.
So if you'd like to adhere to this Spoti-flow, this app should help out!
Usage
On first usage, the app should redirect you to log into Spotify. If that doesn't happen, follow the link shown. After logging in, paste the URL Spotify redirected you to into the app, and you should be logged in. Subsequent usages shouldn't need the same process.
After the initial log in, the app should be self-explanatory.
Dependencies (Linux only)
Sortify uses rodio to play audio, so it shares its dependencies on Linux.
[Install the]
libasound2-dev
package on Debian and Ubuntu distributions andalsa-lib-devel
on Fedora.
Rodio has an issue that discusses this further.
Installation
Cargo
You must have Rust and Cargo installed.
# Install binary from crates.io
cargo install sortify
# Run the application
sortify
# (if this doesn't work, your shell might not know to look for the binary in ~/.cargo/bin/)
Build from source
You must have Rust and Cargo installed.
# Clone the repository
git clone https://github.com/franciscunha/sortify
# Navigate to the project directory
cd sortify
# Build the project
cargo build --release
# Run the application
./target/release/sortify
Binary release
Will be added in the future.
Contributing
I wrote this over a week to learn the basics of Rust. There are likely many improvements to be made to the codebase, but since it's just a personal project I'm not setting up a robust contributing system. Let me know if you'd like to contribute to it and we can set something up!
Dependencies
~28–62MB
~1M SLoC