Skip to content

tpaau/chilen

Repository files navigation

Chilen

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.

Table of contents

Features

  • Blazingly fast and memory safe 🚀🦀
  • Modular design ideal for creating alternate frontends

Building from source

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-devel

After you have all your dependencies installed, run the command below to compile the program:

cargo build

Then, you can run the player with cargo:

cargo run -- <PLAYER_ARGUMENTS>

You can find the compiled binary in target/debug/chilen.

Usage

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>

Running the daemon

Starting the daemon

cargo run -- daemon start

Stopping the daemon with a client command

cargo run -- daemon stop

Managing playlists

Playlists can be managed with the playlist command.

Creating a new empty playlist

cargo run -- playlist new playlist-name ~/Music/track.mp3

Deleting an existing playlist

cargo run -- playlist delete playlist-name

Listing existing playlists

cargo run -- playlist list

Controlling playback

Tip

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.mp3

Tracks can also be appended to the queue:

cargo run -- playback append-to-queue ~/Music/track.mp3

You can also set a playlist as the queue:

cargo run -- playback set-queue --playlist playlist-name

Pausing

cargo run -- playback pause

Playing

cargo run -- playback play

Playing 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 6

Skipping to the next track

cargo run -- playback next

Skipping to the previous track

cargo run -- playback previous

FAQ

Is 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

Inspiration

  • Auxio: A music player that just works

About

Local-only music player written in Rust

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors