#music-player #music #player #rhythm #cli #keyboard-shortcuts

app CLI-Rhythm

A simple and functional CLI music player

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

Download history 224/week @ 2024-08-19 1/week @ 2024-08-26 224/week @ 2024-09-02 5/week @ 2024-09-09 8/week @ 2024-09-16 11/week @ 2024-09-23

150 downloads per month

Custom license

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

  1. Ensure you have Rust installed.
  2. Clone the repository:
git clone https://github.com/Arklingh/cli-rhythm.git
cd cli-rhythm
  1. Build the application:
cargo build --release
  1. 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