Desktop player for donation music from DonationAlerts and DonateX
with automatic YouTube → MP3 download and playback.
Clean architecture · Dark UI · Vertical player · Windows & macOS
- 🎧 Queue-based music player
- 🔄 Auto polling:
- DonationAlerts (YouTube media)
- DonateX (musicLink)
- ⬇️ YouTube → MP3 auto-download (via API)
- 🧠 Smart queue trimming (keeps current / prev / next)
- 💾 Persistent state:
- queue
- tokens
- last processed donations
- 🖥️ Builds for Windows (.exe)
- Now Playing card
- Transport controls:
Start | Prev | Play/Pause | Next | Skip - Queue table (minimal):
#TitleStatus
- Tokens & settings panel
- Log panel (compact)
- Open: https://www.donationalerts.com/dashboard/general-settings/account
- Copy Secret token
- Paste into DA field
-
Open donations page
-
In URL find:
token=XXXX -
Copy
XXXXinto DX field
You can use only one service — the other may stay empty.
Recommended:
Python 3.10 – 3.11
pip install -r requirements.txtpython run.py-
Uses pygame
-
If pygame is missing:
pip install pygame -
If audio init fails, the app will show an error.
-
MP3 files are stored in OS temp directory:
donation_media_hub_tracks/ -
App keeps only:
- previous
- current
- next track
-
On exit, user is asked whether to clean temp files.
pip install pyinstallerpyinstaller donation_media_hub.spec| OS | Result |
|---|---|
| Windows | dist/DonationMediaHub.exe |
- UI ≠ Business logic
- UI does NOT call APIs directly
- Background threads communicate via event queue
- Single responsibility per module
- PyInstaller-safe paths
MIT
Built with care for streamers.
Contributions and ideas welcome.
