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 4916296708
All checks were successful
CI / lint (push) Successful in 2m28s
CI / test (push) Successful in 2m51s
Fixed link for the build status in the README file.
2026-09-14 07:52:50 +08:00
.forgejo/workflows Add 'file' command to system dependencies (required by appimagetool) 2026-09-12 17:35:31 +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 suggestions. 2026-09-04 08:49:37 +08:00
.gitignore Initial commit. 2026-01-08 12:08:22 +07:00
Cargo.lock Bump of application version number. 2026-09-04 17:40:31 +08:00
Cargo.toml Fix AppImage build: add librsvg2-dev/desktop-file-utils deps and AppImage metadata in Cargo.toml 2026-09-12 16:34:33 +08:00
CHANGELOG.md Added CHANGELOG.md file to track changes in the release. 2026-09-12 15:55:40 +08:00
LICENSE LICENSE update and fixed spelling mistake in the cargo file. 2026-04-08 09:26:37 +07:00
README.md Fixed link for the build status in the README file. 2026-09-14 07:52:50 +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.