I'm just a sleepy girl, there's a lot of rough edges and things to adjust/fix/add/remove in the repo. Soon come!
This is my silly little attempt to recreate Spotify Wrapped for iPod music listening. It's a GTK4 app to sync your listening history and generate Spotify Wrapped-esque stats for whatever time range you please.

-
An iPod running rockbox
-
Logging needs to be enabled on your iPod. Go to
Settings > Playback Settings > Logging > On -
Last.fm API credentials, which you can get for free here
Now, you're ready to run the iPod Wrapped app! Listen to some music first with logging enabled so you actually get some results in the app though haha!
Install:
- Download the latest
ipod-wrapped-windows.zipfrom GitHub Releases - Extract the ZIP file to any location (e.g., Desktop, Documents, or a USB drive)
- Double-click
iPodWrapped.exeto run
The app is completely portable - no installation required! All your data is stored in the storage/ folder next to the executable.
Update to a New Version:
- Download the new
ipod-wrapped-windows.zipfrom GitHub Releases - Extract it to the same location as your current installation
- When prompted, choose to replace the files
- Your data in the
storage/folder will be preserved
Uninstall:
Simply delete the entire iPodWrapped/ folder. All data is self-contained.
Coming soon!
1. Clone the repository
git clone https://github.com/Mandy-cyber/Everything-iPod.git
cd Everything-iPod/ipod_wrapped2. Install system dependencies
Ubuntu/Debian
sudo apt install python3 python3-gi python3-pip \
libgtk-4-1 libadwaita-1-0 gir1.2-gtk-4.0 gir1.2-adw-1Arch Linux
sudo pacman -S python python-gobject python-pip \
gtk4 libadwaitaFedora
sudo dnf install python3 python3-gobject python3-pip \
gtk4 libadwaitamacOS
brew install python gtk4 libadwaita pygobject3 gtksourceview5Windows
- Install MSYS2
- Open MSYS2 terminal and run:
pacman -S mingw-w64-x86_64-python mingw-w64-x86_64-gtk4 \ mingw-w64-x86_64-libadwaita mingw-w64-x86_64-python-gobject
3. Install Python dependencies
pip install -r requirements.txt4. Run the app
python main.pyFollow the popup instructions and have fun!!
N.B. Like most other rockbox themes, you'll need the default Rockbox font pack downloaded.
A custom rockbox theme I drew and coded to act as a 'love letter' to physical media. It adjusts the lockscreen, main, while-playing, and USB, screens to look as follows:
Usage
Download here, or
# copy the theme over to your iPod
cp -r rockbox_themes/the_letter/.rockbox/. /path/to/iPod/.rockbox/The current rockbox theme doesn't have the lockscreen--I'll eventually reupload with the lockscreen.
A custom rockbox theme inspired by Minecraft's cherry blossom biome. It adjusts the lockscreen, main, while-playing, and USB, screens to look as follows:
Usage
Download here, or
# copy the theme over to your iPod
cp -r rockbox_themes/minecraft_cherry/.rockbox/. /path/to/iPod/.rockbox/A collection of scripts that do random helpful things
This is not my code! Full credit goes to Xpl0itU. I just use the script in the sync_ipod.sh logic.
Syncs your local music directory with your iPod's. First extracts art covers from each album, before syncing the music and covers.
Usage
./sync_ipod.sh /path/to/local/Music/dir/ /path/to/iPod/Music/dir/Reloads your rockbox UI simulator with the theme being developed in ./rockbox-theme.
Usage
# adjust your env variables or dirs set in reload_theme.sh first
# TODO: accept args
./reload_theme.shManually update albums missing genre information in your iPod Wrapped db. Eventually this functionality will be added to the UI. Till then:
Usage
# edit the ALBUMS_WITH_GENRES list at the top of the file, then
python update_album_genres.pyAsk me stuff so I have stuff to put here <3
If you want to support, you can help via:
- Writing some code!! Check out the CONTRIBUTING.md guide
- Buying me some music from my wishlist, or your favorite album <3
FLACpreferred
- Proper 'Getting Started' page
- Pass in Last.fm keys in UI
- Add/Adjust logging
- Support multiple formats of Music dir/song names
- Add functionality to update album genres in the UI (currently only via utility script)
- Add proper rate limiting logic for log analysis
- Disable light mode LOL
- Fix 'sorter' not bringing user back to top of table in songs page
- Fix wonky resizing in songs page
- Make text size responsive
- Windows portable exe
- Mac
.app - Linux appimage
- Add music player functionality
- On bottom bar click, show expanded view
- Add currently playing UI elements to bottom bar
- Implement bottom bar stub methods
- Add right-click menu with 'add to queue' and 'play next' options for genre songs
- Fix and uncomment "the letter" lockscreen
- Minecraft theme
- Create a vinyl theme
- Create a neofetch theme
- Accept args for all scripts instead of code editing