Punge is an Application for listening to music. It downloads songs from YouTube and provides a based listening experience. I hate streaming services, let me listen to my stinky unreleased music.
This is a newer version of Punge. It is still missing some gui functionality, since iced
is still new. But will be updated along with it.
Punge uses rodio
for playing audio and Iced
for GUI.
New Punge brings on multiple improvements:
- Now blazingly fast (significant, like up to 100x faster in certain scenarios)
- A nicer GUI (from Tkinter -> Iced)
- More sustainable and cleaner codebase
- Written entirely in rust ! 🦀
- Much cleaner and nicer interface for audio (we aint using pydub for that no more!)
- Better commented codebase
- Playlist metadata
- Better data about each individiual song
-
Cargo on path
-
ffmpeg on path
-
git on path (only technically needed to follow the instructions, you can still download .zip from github)
-
yt-dlp.exe
on path (find the exe here for windows. For linux, most package managers will have it available (sudo apt install yt-dlp)
Ubuntu specific:
sudo apt install libasound2-dev
Debian specific:
sudo apt install pkg-config
sudo apt install libssl-dev
sudo apt install libasound2-dev
- Clone the repo
git clone https://github.com/nednoodlehead/punge
cd punge
cargo build --release
- Once it is built, copy
punge.exe
from./target/release/
into the project root - Launch
punge.exe
Binaries coming soon!!! (I want to get punge to a good state)