4 releases
0.6.6 | Sep 6, 2024 |
---|---|
0.6.5 | Sep 6, 2024 |
0.6.1 | Aug 22, 2024 |
0.6.0 | Aug 22, 2024 |
#145 in Audio
150 downloads per month
66KB
1K
SLoC
CLI-Rhythm
cli-rhythm is a simple, functional, and lightweight Command-Line Interface (CLI) music player. It is designed to provide a seamless music-playing experience directly from your terminal. Built with Rust, it supports intuitive navigation, and a minimal user interface for distraction-free listening.
Features
- Play music from your local library: Easily scan and play music files from a directory.
- Supported Formats: MP3, WAV, FLAC, AAC.
- Minimalistic interface: Clean and simple UI for focusing on music.
- Keyboard shortcuts: Navigate and control the player entirely via keyboard.
- Metadata extraction: Automatically extracts song information such as artist, album, and track title.
Installation
Installing precompiled binary(Windows only)
Preompiled binary is availiable in Releases.
Installing via Cargo
To install CLI-Rhythm using Cargo (the Rust package manager), simply run the following command:
cargo install cli-rhythm
Make sure you have Cargo installed before running this command.
Building from source
- Ensure you have Rust installed.
- Clone the repository:
git clone https://github.com/Arklingh/cli-rhythm.git
cd cli-rhythm
- Build the application:
cargo build --release
- Run the player:
./target/release/cli-rhythm
Usage
cli-rhythm scans your system's default music folder for music files. If it doesn't find any there, it will scan the folder cli-rhythm executable is in.
Platform | Music folder example |
---|---|
Linux | /home/alice/Music |
macOS | /Users/Alice/Music |
Windows | C:\Users\Alice\Music |
Controls
- Use Up/Down Arrow Keys to navigate songs
- Ctrl + Spacebar: Play/Stop
- Ctrl + P: Pause/Unpause
- Ctrl + M: Mute/Unmute
- Ctrl + S: Change search criteria
- Ctrl + T: Change sorting criteria
- Ctrl + Left/Right Arrow Keys: Adjust Volume
- Ctrl + L: Next song
- Ctrl + H: Previous song
- Left Arrow Key: -5 seconds on current song
- Right Arrow Key: +5 seconds on current song
- Backspace: Delete characters in the search bar
- Ctrl + A: Select a song to be added to the new playlist
- Ctrl + C: New playlist name input popup
- Enter: Create a new playlist with given name
- F1: Toggle Controls Popup
- Esc or F1: Close Popup
Planned Features
- Creating Playlists: Allow users to group song by preference.
- Support for Additional File Formats: Extend compatibility to more audio formats such as AAC, OGG, and AIFF.
- Equalizer Support: Implement an equalizer to adjust audio frequencies for a more customized listening experience.
- Configurable Key Bindings: Allow users to customize keyboard shortcuts according to their preferences.
- Cross-Platform Support: Ensure the application runs smoothly on Windows, macOS, and Linux.
- Advanced Playlist Management: Enhance playlist functionality with features like shuffle, repeat, and smart playlists.
- Lyrics Display: Add support for displaying lyrics if available in the metadata.
- Streaming Support: Implement support for streaming music from online sources or services.
- Improved Metadata Handling: Enhance metadata extraction and display, including album artwork.
- Adaptivity to Different Screen Resolutions: Ensure app's defined behaviour for different resolutions.
License
This project is licensed under the Apache License 2.0.
Dependencies
~11–45MB
~630K SLoC