Skip to content
 
 

Repository files navigation

Rockbox — Podissimo fork

A patched build of Rockbox for the iPod Video (5th generation) that replaces the default list UI with a modern card-based interface, live album art backdrops, and the Podissimo theme.

Base: upstream Rockbox master (tracked, periodically rebased) Target device: iPod Video / iPod Classic 5G (320×240 screen)


What's different from stock Rockbox

1. Card-style list UI (all menus)

Every list in Rockbox — root menu, Settings (all sub-levels), Playlists, Plugins, Bookmarks — renders as a modern card layout:

  • 40 px tall rows with a subtle separator
  • 22×22 SF Symbol icons per menu item (generated at build time, no external dependency)
  • Split viewport: left 58% = menu list, right 42% = album art backdrop bleeds through
  • No scrollbar clutter in menus; scrollbar appears only in the file/database browser

2. Live album art backdrop

The right panel (and the WPS backdrop) shows the current track's album art, stretched full-screen. It updates automatically when playback advances to the next track. Falls back to a dark gradient if no art is found.

3. Database browser — card UI + year sort + subtitles

The tag database browser (Album Artist → Artist → Album) gets the card treatment too, but full-width (no split):

  • Per-row album art thumbnails (40×40, loaded from folder.jpg / cover.jpg)
  • Album rows show a subtitle: N tracks · YYYY
  • Artist rows show a subtitle: total track count
  • Albums are sorted newest first (year descending, alpha fallback)
  • Backdrop updates to the selected album / artist's folder art as you scroll

Setting up album and artist artwork

The backdrop system and per-row thumbnails rely on artwork files sitting next to your music. The setup-art.py script handles this automatically — it walks your music library, extracts or downloads art, and generates all the derivative files Rockbox needs.

Install dependencies

cd podissimo
pip install -r requirements.txt

Dependencies:

  • requests — HTTP downloads from MusicBrainz / Deezer
  • mutagen — reads embedded art and tags from MP3 / FLAC / M4A / OGG / Opus
  • Pillow — resizes images, applies rounded corners, generates backdrop composites (optional but strongly recommended)

Run the script

python3 podissimo/setup-art.py /path/to/your/Music --verbose

For each album directory (contains audio files) it saves:

  • cover.jpg — album art, ≤500 px, rounded corners baked in for list thumbnails
  • .cover_backdrop.jpg — blurred full-screen composite with sharp centred art (WPS backdrop)
  • .menu_backdrop.jpg — split-screen backdrop: blurred left, crisp art right (menu backdrop)

For each artist directory (contains album subdirs) it saves:

  • folder.jpg — artist photo (Deezer → MusicBrainz Wikimedia → first album cover as fallback)
  • folder_backdrop.jpg — blurred full-screen version (database browser backdrop)

Art sources (in priority order):

  1. Embedded ID3 / FLAC / M4A tags
  2. MusicBrainz Cover Art Archive (free, no key)
  3. Deezer API for artist photos (free, no key)
  4. MusicBrainz Wikimedia links for artist photos
  5. Copy of first child album's cover.jpg as a last resort

Useful flags:

--dry-run       # show what would be written without touching any files
--force         # overwrite existing cover.jpg / folder.jpg
--skip-artist   # only process album art
--skip-album    # only process artist art

After running, copy your music library to the iPod (or point the simulator's simdisk symlink at it) and the backdrops will appear automatically.


Installing on a real iPod

Option A — Theme only (no recompile needed)

You can install the Podissimo theme on any standard Rockbox build (v3.15 or recent dev build).

  1. Install Rockbox on your iPod using Rockbox Utility.
  2. Mount the iPod (macOS: plug in via USB, it appears in Finder).
  3. Copy the theme files to the iPod:
# Mount point — adjust to match your iPod (check Finder sidebar or diskutil list)
IPOD="/Volumes/IPOD"

cp -r podissimo/.rockbox/themes/podissimo.cfg "$IPOD/.rockbox/themes/"
cp    podissimo/.rockbox/wps/podissimo.wps    "$IPOD/.rockbox/wps/"
cp    podissimo/.rockbox/wps/podissimo.sbs    "$IPOD/.rockbox/wps/"
cp    podissimo/.rockbox/wps/podissimo.fms    "$IPOD/.rockbox/wps/"
mkdir -p "$IPOD/.rockbox/wps/podissimo"
cp    podissimo/.rockbox/wps/podissimo/*.bmp  "$IPOD/.rockbox/wps/podissimo/"
  1. On the iPod: Settings → Theme Settings → Browse Themes → Podissimo

Note: Option A gives you the Podissimo WPS/SBS/FMS theme visuals, but the card UI, split viewport, and database year sort require a patched build (Option B).


Option B — Full patched build (all UI changes)

Requires the ARM cross-compiler toolchain. This takes ~20 minutes the first time.

1. Install the ARM toolchain

Rockbox ships a script that downloads and builds the correct cross-compiler:

# From the repo root
mkdir -p ~/rockbox-toolchain
tools/rockboxdev.sh
# When prompted, enter 'a' to build the ARM compiler
# Default install path is ~/rockbox-toolchain — accept or change it

Add the toolchain to your PATH (add this to ~/.zshrc or ~/.bash_profile):

export PATH="$HOME/rockbox-toolchain/arm-elf-eabi/bin:$PATH"

2. Configure and build

mkdir build-ipod && cd build-ipod
# 22 = iPod Video (5G), N = Normal (device build, not simulator)
printf "22\nN\n" | ../tools/configure
make -j$(sysctl -n hw.logicalcpu)

3. Install to iPod

# Replace /Volumes/IPOD with your actual mount point
make install DESTDIR=/Volumes/IPOD

# Or use the official installer:
make fullinstall DESTDIR=/Volumes/IPOD

Then copy the theme (same as Option A step 3).

  1. Safely eject the iPod and reboot it.

Regenerating SF Symbol icons

The icons in menus are generated from macOS SF Symbols at build time. To regenerate after changing gen-icons.swift:

swift podissimo/gen-icons.swift

This writes sf_icons.16x16.bmp and sf_icons.22x22.bmp into the simulator's simdisk. run-simulator.sh does this automatically on every run.


Repository layout

/                          Rockbox source (standard layout)
├── apps/                  Application layer (UI, codecs, plugins)
├── firmware/              Hardware abstraction + drivers
├── tools/                 Build tools, configure script
├── podissimo/             Podissimo theme + macOS build scripts
│   ├── .rockbox/
│   │   ├── themes/podissimo.cfg
│   │   └── wps/
│   │       ├── podissimo.wps   (Now Playing screen)
│   │       ├── podissimo.sbs   (Status bar / base skin)
│   │       ├── podissimo.fms   (FM radio screen)
│   │       └── podissimo/      (BMP image assets)
│   ├── build-simulator.sh
│   ├── run-simulator.sh
│   ├── gen-icons.swift
│   ├── setup-art.py        (album/artist art fetcher + backdrop generator)
│   └── requirements.txt
└── README.md

Credits

  • Rockboxrockbox.org — the open-source firmware this is based on
  • SF Symbols — Apple's symbol library, used for menu icons (macOS only, not distributed)
  • Theme design and UI patches by @CCMurphy-dev

About

Read-only mirror of rockbox' main repository

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages