Audio player written in Rust using gtk-rs and rodio.
  • Rust 99.8%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anthony Mills 11ada9f632
All checks were successful
CI / lint (push) Successful in 1m56s
CI / test (push) Successful in 2m5s
Updated screenshots foor README.
2026-09-03 16:04:15 +08:00
.forgejo/workflows Use Forgejo API directly with curl instead of forgejo-release action 2026-09-03 12:06:02 +08:00
resources Exec %U and GTK open signal to support file association default app selection. 2026-09-02 18:38:15 +08:00
screenshots Updated screenshots foor README. 2026-09-03 16:04:15 +08:00
src Clippy formatting change. 2026-09-03 08:32:18 +08:00
.gitignore Initial commit. 2026-01-08 12:08:22 +07:00
Cargo.lock Add shuffle toggle button with icon, state persistence, and compact styling 2026-09-02 00:14:41 +08:00
Cargo.toml Fix RPM asset dest paths to be absolute 2026-09-03 09:54:16 +08:00
LICENSE LICENSE update and fixed spelling mistake in the cargo file. 2026-04-08 09:26:37 +07:00
README.md Updated application screenshots in the README file. 2026-09-03 08:10:43 +08:00

Crusty Player

CI

Crusty Player is an audio player for Linux written in Rust.

Features

  • Multi-format Support: Play MP3, WAV, OGG, and FLAC files.
  • Playlist Management:
    • Add audio files individually or by the folder.
    • Support for loading existing M3U playlist files and saving a created playlist.
    • Remove tracks or clear the entire playlist.
    • Automatic playback of the next track.
  • Playback Controls:
    • Play/Pause, Stop.
    • Next/Previous track.
    • Seek through tracks with a progress slider.
    • Fast-forward and Rewind (10s).
    • Volume control.
  • Metadata & Visuals:
    • Displays Artist, Album, Genre, and Year from audio tags.
    • Extracts and displays embedded cover art from audio files.

Screenshots

Playing music using a light desktop theme:

CrustyPlayerUILight

Application information window:

CrustyPlayerUIAbout

Playing music playlist with shuffle enabled using a dark desktop theme:

CrustyPlayerUIDark

Playing a single podcast file using a dark desktop theme:

CrustyPlayerUIDark

Installation

Prerequisites

  • Rust and Cargo (latest stable version recommended > v1.94.0).
  • System dependencies (on Ubuntu/Debian):
    • Audio playback: sudo apt install libasound2-dev
    • GTK4: sudo apt install libgtk-4-dev

Building from Source

  1. Clone the repository:

    git clone https://codeberg.org/anthonymills/Crusty-Player.git
    cd Crusty-Player
    
  2. Build the project:

    cargo build --release
    
  3. Run the player:

    cargo run --release
    

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for more information.

Acknowledgments

  • gtk-rs for the GTK4 GUI framework bindings.
  • rodio for audio playback.
  • symphonia for audio decoding and metadata parsing.

Author

This project was created by Anthony Mills.