Prototype local music player, very much a WIP right now.
There's currently no GUI, all interactions are either done through the provided CLI interface or via MPRIS if you are on Linux.
- Blazingly fast and memory safe 🚀🦀
- Modular design ideal for creating alternate frontends
You will need to have Rust nightly installed on your system to compile this program.
On Linux, you will also need the development files for alsa-libs. They
usually can be installed as alsa-libs-devel:
For Fedora Silverblue, run this:
rpm-ostree install alsa-libs-develAfter you have all your dependencies installed, run the command below to compile the program:
cargo buildThen, you can run the player with cargo:
cargo run -- <PLAYER_ARGUMENTS>You can find the compiled binary in target/debug/chilen.
Note
Not all commands are listed here.
Pass the -h|--help option to see all available commands.
Currently, the player only comes with a command-line interface. This is only to test if the daemon works properly and will obviously not be the primary way of interacting with the player once it's finished.
Tip
You can pass the -v|--verbosity option to set the log level filter:
cargo run -- -v trace <PLAYER_COMMAND>Starting the daemon
cargo run -- daemon startStopping the daemon with a client command
cargo run -- daemon stopPlaylists can be managed with the playlist command.
Creating a new empty playlist
cargo run -- playlist new playlist-name ~/Music/track.mp3Deleting an existing playlist
cargo run -- playlist delete playlist-nameListing existing playlists
cargo run -- playlist listTip
If you are on Linux, you can control audio playback with MPRIS.
Desktop integrations for macOS and Windows are in the pipeline.
Adding tracks to the queue by paths
cargo run -- playback set-queue --tracks ~/Music/track.mp3Tracks can also be appended to the queue:
cargo run -- playback append-to-queue ~/Music/track.mp3You can also set a playlist as the queue:
cargo run -- playback set-queue --playlist playlist-namePausing
cargo run -- playback pausePlaying
cargo run -- playback playPlaying a track at a specific index
Tracks have their unique indices in the queue. You can jump to a track at a specific index.
cargo run -- playback play --index 6Skipping to the next track
cargo run -- playback nextSkipping to the previous track
cargo run -- playback previousIs this a rewrite/clone of MPD?
No. I have never seen even one line of MPD code.
I tried to install MPD once but I ran into a dependency hell :P
- Auxio: A music player that just works