Audio player written in Rust using gtk-rs and rodio.
- Rust 99.8%
- Shell 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| resources | ||
| screenshots | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
Crusty Player
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:
Application information window:
Playing music playlist with shuffle enabled using a dark desktop theme:
Playing a single podcast file using a dark desktop theme:
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
- Audio playback:
Building from Source
-
Clone the repository:
git clone https://codeberg.org/anthonymills/Crusty-Player.git cd Crusty-Player -
Build the project:
cargo build --release -
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.



