Releases: anthonyfletcher/podbox
Release list
Latest build
Built from 274f7010f2235fb6ee825bd65216f37abe90712e on master.
| file | player |
|---|---|
rockbox-ipod6g.zip |
iPod Classic 6G/7G |
rockbox-ipodvideo-5g.zip |
iPod Video 5G/5.5G |
Unzip onto the root of the player. The .map files resolve a
crash address from this build and are not installed.
Changes since the last release
- Keep the JPEG encoder's reciprocals in 32 bits
- Pause again when a line-out iAP1 accessory is unplugged
- Keep iAP2's playlist and cover buffers in the library block
- Read a car's playlists as playing them would
- Keep a car's queue and playlists still while they are sent
- Document modern cars, the connectivity tests and where iAP2 came from
- Send an iAP2 car playlists, the queue and cache covers
- Encode native pixels as a baseline JPEG
- Hide the two stock fallback themes outside Settings Mode: Everything
- Stub the USB DAC and iAP2 setting callbacks for CheckWPS
- Keep Scrim's clock off the title under a graphic battery display
- Retry a DAC's refused rate across an alternate setting change
- Keep a rebuild from failing the art pass, and the RAM copy from scratch
- Offer a car no library from a block opened with Browsing Off
- Route the USB iAP tagcache include through api/, and list the USB stack's includes
- List Hardware info in the theme, with the 6G's charger pins
- Start a DAC that resets the bus, keep artist pictures off albums, and reload a grown database
- Ignore a stray space in a search, and match either apostrophe
- Notice an artwork cache deleted over USB
- Show an art pass that could not read the database as Failed
- Show the battery percentage in Scrim, and draw iClassic's cover whole
- Cut the upstream ledgers down to what a merge needs
- Keep the quickscreen's viewports inside a UI viewport of any size
- Attach each build's link map to the latest release
- Clamp a zero-range bar to empty, except a list scrollbar
- Run simple lists in the tree context, as upstream does
- Answer iAP2 only as an iPod
- Regroup the debug menu, and keep the theme on its list screens
- Fix database, background task and UI faults found in review
- Fix USB, USB DAC and USB log faults found in review
- Fix iAP and iAP2 faults found in review
- Name the player PodBox over USB and every iAP transport
- Explain Accessory Browsing, iAP2 Accessories and Car Artwork
- Answer iAP2 only to a car, and send it the cover the WPS would show
- Send the whole library to an iAP2 car
- Play through a car as an iPhone, over iAP2
- Run the background tasks on one thread
- Set a class 2 DAC's volume, and send at the endpoint's interval
- Keep a theme's scrolling lines from painting over a dialog
- Regenerate art whose image was replaced or deleted
- Browse the library from an iAP accessory
- Find a database entry by its file from RAM
- Keep numbered albums in place when ignoring The/A/An
- Take a disc folder's year from the album folder above it
- Decode iAP in the USB log
- Keep the USB log on disk without its screen open
- Act on the September feedback batch
- Illustrate the README's connectivity section
- Stop pointing tracked files at documents a clone does not have
- Document connectivity, the September upstream merge and the USB work
- Decline the 6G's composite video output
- Keep the Playback Report's names current, and follow moved folders
- Leave a serial iAP dock alone when looking for a USB DAC
- Assign USB interfaces for a host that sends SET_ADDRESS first
- Port three upstream fixes: PCM stop, unitless numbers, Quick Screen layout
- Call ffilesize(), upstream's new name for filesize()
- Stop two comments saying the USB DAC is 5G-only and class 2 only
- Announce an iAP accessory, and let the user turn iAP off
- misc: forums.rockbox.org -> www.rockbox.org/forums
- Page lists and skip albums from an iAP remote's album and playlist buttons
- Keep the last eight distinct iAP frames on Debug IAP
- Make an iAP remote's menu, select, left and right act as the wheel's
- Move a list one row for a button that carries no wheel step
- Show serial iAP framing and certificate progress on Debug IAP
- Accept short long-form iAP frames, which the Onkyo DS-A3 sends
- usb: accept replacement SETUP after an abandoned control transfer
- Enable USB iAP on the 6G
- Turn a USB DAC on from the menu, and make USB Sound Card Off/On
- Charge while playing to a USB DAC, and let Force top up the 6G
- Play to USB Audio Class 1 and full-speed DACs, on both players
- Apply USB HID at boot, and leave HID out before the sound card
- Make the USB sound card play on both players
- Record USB events in a log the debug menu can save
- opus: gate the ARMv5E kernels for ARMv6 too
- opus: hold cwrsi's row pair, and test it with one comparison
- opus: ARMv4 exp_rotation1
- opus: place the hot decode path in IRAM on PP5022/5024
- libopus: Fix yellow and red in da9df96
- opus: Good-Thomas FFT for the backward MDCT
- opus: dual_inner_prod on ARMv5E
- usb: let controller drivers handle SET_ADDRESS requests
- Build the USB audio sink again, on both players
- Send the 6G's DAC one packet a microframe, from the SOF interrupt
- Accept a NYET-ended control stage on the 6G, and retry NAKed ones
- Stream audio to a USB DAC from the 6G
- FS#13996: Have audio_hard_stop() kill the PCM output path entirely
- Enumerate the device from the 6G's host probe too
- Try a DAC on a cable no host has spoken on, not one never inserted
- usb iap: correct sample rate descriptors and packet cadence
- Start USB DAC output automatically when a DAC is plugged in
- Keep DAC output on after leaving the host probe screen
- Play music to a USB Audio Class 2 DAC from the 5G, as a PCM sink
- Play a 1 kHz test tone to a USB Audio Class 2 DAC from the 5G
- Enumerate the attached device from the 5G's host probe
- Add a USB host probe debug screen: the port as a host, status only
- Show whether the USB controller can be a host, on the USB Info screen
- usb storage: defer commands until exclusive storage handover completes
- usb: preserve exclusive storage ownership across repeated configuration and reset
- opus: build the decoder without the encoder halves
- opus: tabulate bitexact_log2tan on PP5022/5024
- opus: More surgical update to 9a972e7
- opus: Correct enablement of new ARMv5e optimizations
- opus: ARMv5E FFT butterflies
- opus: ARMv5E assembly for the backward MDCT inner loops
- opus: ARM stereo de-emphasis kernel
- ipod6gboot: Silence build warning introduced in af2a3b7
- ipodnano3g: Show a QR code if the NAND is not supported
- opus: inline EC_ILOG on ARMv4
- usb arc: flush both EP0 directions when SETUP replaces a transfer
- ROLO: Get rid of redundant call to audio_hard_stop()
- fix red in c6abf33 -- iriver h1xx/h3xx simulator
- fix red in c6abf33 -- iriver h1xx bootloader
- firmware: move iriver flash helper functions into target tree
- firmware: limit system_memory_guard() to coldfire targets
- hw_h264: remove redundant ifdef guards
- hw_h264: use standard rockbox copyright headers
- usb arc: reset endpoint data toggles when clearing halt
- usb arc: discard stale transfers and audio work on bus reset
- rbutilqt/themeeditor: Fix description of KEYCHAIN_PROFILE
- opus: ARM comb filter and saturation kernels
- opus: ARM kernels for the 16-bit band loops
- opus: exact bounded divide for the range decoder
- as3525: Increase bootloader firmware buffer to 2MB
- docs: add Andrew Rice to CREDITS
- rbutilqt/themeeditor: Introduce a new KEYCHAIN_PROFILE variable for Apple notarization
- opus: ARMv4 assembly for the backward MDCT inner loops
- opus: ARMv4 assembly FFT butterflies, and an exact radix-5 rewrite
- ipodnano3g: mark the 4-CE B614D5EC row checked
- ipodnano3g: mark the 4-CE Toshiba BA94D598 row checked
- ipodnano3g: mark four contributors' chips checked
- ipodnano3g: enable the 2-CE Micron A5D5D52C NAND
- utils: update the Nano 3G NAND check tool
- utils: iPod Nano 3G NAND and FTL tooling
- usb: validate configuration descriptor indices and failed drivers
- usb storage: fix BOT residue, rejected commands and ATA IDENTIFY
- rbutilqt/themeeditor: Move the CODESIGN_IDENTITY variable definition before the targets which depend on it.
- rbutilqt/themeeditor: Fix Apple code signing issues
- manual: add the iPod Nano 3G
- ipodnano3g: power, RTC, backlight, battery and audio
- ipodnano3g: NAND check image for validating other chips
- pacbox: Add missing function annotation to arm asm functions
- dsp: Add missing .type , %function to arm asm
- build: move '-mthumb-interwork' into the configure script
- ipodnano3g: NAND driver, FTL and storage
- ibasso dx50/dx90: Fix physical buttons on yes/no screens
- Fix errors in ipod-specific h264_player from 3a57f2f
- Fix build errors in 3a57f2f
- Add "rbfs" prefix to native filesystem functions
- usb_storage: report read-only drives as write protected
- utils/ingenic_tools: correct return check of libusb_control_transfer in usbboot
- jztool: support X1600 USB recovery boot
- ipodnano3g: preserve PMU register 0x10 bit 2, which the NAND needs
- s5l8702: add the Nano 3G's flash controller registers
- tagtree: warn if tagnavi.config is missing instead of freezing
- utils: iPod Nano 3G NAND check for contributors
- mks5lboot: support the iPod Nano 3G
- FixRed devices with non backlit remotes
- FixRed for devices without backlight
- add backlight_on_button_hold to plugins and backlight_use_settings_helper
- usb-drv-arc: defer SET_ADDRESS until status completion
- ipod6g: add hardware H.264 video playback
- root_menu: remove ACTIVITY_UNKNOWN hack for plugins
- quickscreen: fix icon x-position off-by-one
- option_get_valuestring: fix trailing whitespace for UNIT_INT
- quickscreen: eliminate excess/pad variable from vp setup
- Translation updates
- Translation updates:
- Bulgarian translation update
- lang: restrict LANG_TOUCHSCREEN_FLICK_SHORTCUTS to touchscreen devices
- lang: Restrict LANG_COMPOSITE_VIDEO_OUTPUT to devices that have it
- libm4a: ...
Extra themes
Extra themes for PodBox, each modified to support dynamic colours
and art in lists. Scrim is not here: it ships with the firmware.
| file | theme |
|---|---|
themify_2.zip |
themify_2 |
obsede_2.zip |
obsede_2 |
bony.zip |
bony |
iclassic_square.zip |
iclassic_square |
iclassic_square_dark.zip |
iclassic_square_dark |
jive.zip |
jive |
Unzip onto the root of the player, so the .rockbox folder lands
on top of the one already there, then pick it under
Settings > Load Theme.
Each zip carries the fonts its theme needs, so they can be
installed in any order and on their own.
Windows simulator
The same build, running on Windows. From 274f7010f2235fb6ee825bd65216f37abe90712e on master.
| file | player it simulates |
|---|---|
simulator-ipod6g.zip |
iPod Classic 6G/7G |
simulator-ipodvideo-5g.zip |
iPod Video 5G/5.5G |
Unzip anywhere and run rockboxui.exe, keeping simdisk\ beside
it: that directory is the player's storage, and simdisk\.rockbox
is this build. Drop music into simdisk\ and the database will
find it. SDL is linked statically, so there are no DLLs to install.
Run it with --debugwps to trace skin parsing; F5 writes a
screendump into simdisk\.
Changes since the last release
- Keep the JPEG encoder's reciprocals in 32 bits
- Pause again when a line-out iAP1 accessory is unplugged
- Keep iAP2's playlist and cover buffers in the library block
- Read a car's playlists as playing them would
- Keep a car's queue and playlists still while they are sent
- Document modern cars, the connectivity tests and where iAP2 came from
- Send an iAP2 car playlists, the queue and cache covers
- Encode native pixels as a baseline JPEG
- Hide the two stock fallback themes outside Settings Mode: Everything
- Stub the USB DAC and iAP2 setting callbacks for CheckWPS
- Keep Scrim's clock off the title under a graphic battery display
- Retry a DAC's refused rate across an alternate setting change
- Keep a rebuild from failing the art pass, and the RAM copy from scratch
- Offer a car no library from a block opened with Browsing Off
- Route the USB iAP tagcache include through api/, and list the USB stack's includes
- List Hardware info in the theme, with the 6G's charger pins
- Start a DAC that resets the bus, keep artist pictures off albums, and reload a grown database
- Ignore a stray space in a search, and match either apostrophe
- Notice an artwork cache deleted over USB
- Show an art pass that could not read the database as Failed
- Show the battery percentage in Scrim, and draw iClassic's cover whole
- Cut the upstream ledgers down to what a merge needs
- Keep the quickscreen's viewports inside a UI viewport of any size
- Attach each build's link map to the latest release
- Clamp a zero-range bar to empty, except a list scrollbar
- Run simple lists in the tree context, as upstream does
- Answer iAP2 only as an iPod
- Regroup the debug menu, and keep the theme on its list screens
- Fix database, background task and UI faults found in review
- Fix USB, USB DAC and USB log faults found in review
- Fix iAP and iAP2 faults found in review
- Name the player PodBox over USB and every iAP transport
- Explain Accessory Browsing, iAP2 Accessories and Car Artwork
- Answer iAP2 only to a car, and send it the cover the WPS would show
- Send the whole library to an iAP2 car
- Play through a car as an iPhone, over iAP2
- Run the background tasks on one thread
- Set a class 2 DAC's volume, and send at the endpoint's interval
- Keep a theme's scrolling lines from painting over a dialog
- Regenerate art whose image was replaced or deleted
- Browse the library from an iAP accessory
- Find a database entry by its file from RAM
- Keep numbered albums in place when ignoring The/A/An
- Take a disc folder's year from the album folder above it
- Decode iAP in the USB log
- Keep the USB log on disk without its screen open
- Act on the September feedback batch
- Illustrate the README's connectivity section
- Stop pointing tracked files at documents a clone does not have
- Document connectivity, the September upstream merge and the USB work
- Decline the 6G's composite video output
- Keep the Playback Report's names current, and follow moved folders
- Leave a serial iAP dock alone when looking for a USB DAC
- Assign USB interfaces for a host that sends SET_ADDRESS first
- Port three upstream fixes: PCM stop, unitless numbers, Quick Screen layout
- Call ffilesize(), upstream's new name for filesize()
- Stop two comments saying the USB DAC is 5G-only and class 2 only
- Announce an iAP accessory, and let the user turn iAP off
- misc: forums.rockbox.org -> www.rockbox.org/forums
- Page lists and skip albums from an iAP remote's album and playlist buttons
- Keep the last eight distinct iAP frames on Debug IAP
- Make an iAP remote's menu, select, left and right act as the wheel's
- Move a list one row for a button that carries no wheel step
- Show serial iAP framing and certificate progress on Debug IAP
- Accept short long-form iAP frames, which the Onkyo DS-A3 sends
- usb: accept replacement SETUP after an abandoned control transfer
- Enable USB iAP on the 6G
- Turn a USB DAC on from the menu, and make USB Sound Card Off/On
- Charge while playing to a USB DAC, and let Force top up the 6G
- Play to USB Audio Class 1 and full-speed DACs, on both players
- Apply USB HID at boot, and leave HID out before the sound card
- Make the USB sound card play on both players
- Record USB events in a log the debug menu can save
- opus: gate the ARMv5E kernels for ARMv6 too
- opus: hold cwrsi's row pair, and test it with one comparison
- opus: ARMv4 exp_rotation1
- opus: place the hot decode path in IRAM on PP5022/5024
- libopus: Fix yellow and red in da9df96
- opus: Good-Thomas FFT for the backward MDCT
- opus: dual_inner_prod on ARMv5E
- usb: let controller drivers handle SET_ADDRESS requests
- Build the USB audio sink again, on both players
- Send the 6G's DAC one packet a microframe, from the SOF interrupt
- Accept a NYET-ended control stage on the 6G, and retry NAKed ones
- Stream audio to a USB DAC from the 6G
- FS#13996: Have audio_hard_stop() kill the PCM output path entirely
- Enumerate the device from the 6G's host probe too
- Try a DAC on a cable no host has spoken on, not one never inserted
- usb iap: correct sample rate descriptors and packet cadence
- Start USB DAC output automatically when a DAC is plugged in
- Keep DAC output on after leaving the host probe screen
- Play music to a USB Audio Class 2 DAC from the 5G, as a PCM sink
- Play a 1 kHz test tone to a USB Audio Class 2 DAC from the 5G
- Enumerate the attached device from the 5G's host probe
- Add a USB host probe debug screen: the port as a host, status only
- Show whether the USB controller can be a host, on the USB Info screen
- usb storage: defer commands until exclusive storage handover completes
- usb: preserve exclusive storage ownership across repeated configuration and reset
- opus: build the decoder without the encoder halves
- opus: tabulate bitexact_log2tan on PP5022/5024
- opus: More surgical update to 9a972e7
- opus: Correct enablement of new ARMv5e optimizations
- opus: ARMv5E FFT butterflies
- opus: ARMv5E assembly for the backward MDCT inner loops
- opus: ARM stereo de-emphasis kernel
- ipod6gboot: Silence build warning introduced in af2a3b7
- ipodnano3g: Show a QR code if the NAND is not supported
- opus: inline EC_ILOG on ARMv4
- usb arc: flush both EP0 directions when SETUP replaces a transfer
- ROLO: Get rid of redundant call to audio_hard_stop()
- fix red in c6abf33 -- iriver h1xx/h3xx simulator
- fix red in c6abf33 -- iriver h1xx bootloader
- firmware: move iriver flash helper functions into target tree
- firmware: limit system_memory_guard() to coldfire targets
- hw_h264: remove redundant ifdef guards
- hw_h264: use standard rockbox copyright headers
- usb arc: reset endpoint data toggles when clearing halt
- usb arc: discard stale transfers and audio work on bus reset
- rbutilqt/themeeditor: Fix description of KEYCHAIN_PROFILE
- opus: ARM comb filter and saturation kernels
- opus: ARM kernels for the 16-bit band loops
- opus: exact bounded divide for the range decoder
- as3525: Increase bootloader firmware buffer to 2MB
- docs: add Andrew Rice to CREDITS
- rbutilqt/themeeditor: Introduce a new KEYCHAIN_PROFILE variable for Apple notarization
- opus: ARMv4 assembly for the backward MDCT inner loops
- opus: ARMv4 assembly FFT butterflies, and an exact radix-5 rewrite
- ipodnano3g: mark the 4-CE B614D5EC row checked
- ipodnano3g: mark the 4-CE Toshiba BA94D598 row checked
- ipodnano3g: mark four contributors' chips checked
- ipodnano3g: enable the 2-CE Micron A5D5D52C NAND
- utils: update the Nano 3G NAND check tool
- utils: iPod Nano 3G NAND and FTL tooling
- usb: validate configuration descriptor indices and failed drivers
- usb storage: fix BOT residue, rejected commands and ATA IDENTIFY
- rbutilqt/themeeditor: Move the CODESIGN_IDENTITY variable definition before the targets which depend on it.
- rbutilqt/themeeditor: Fix Apple code signing issues
- manual: add the iPod Nano 3G
- ipodnano3g: power, RTC, backlight, battery and audio
- ipodnano3g: NAND check image for validating other chips
- pacbox: Add missing function annotation to arm asm functions
- dsp: Add missing .type , %function to arm asm
- build: move '-mthumb-interwork' into the configure script
- ipodnano3g: NAND driver, FTL and storage
- ibasso dx50/dx90: Fix physical buttons on yes/no screens
- Fix errors in ipod-specific h264_player from 3a57f2f
- Fix build errors in 3a57f2f
- Add "rbfs" prefix to native filesystem functions
- usb_storage: report read-only drives as write protected
- utils/ingenic_tools: correct return check of libusb_control_transfer in usbboot
- jztool: support X1600 USB recovery boot
- ipodnano3g: preserve PMU register 0x10 bit 2, which the NAND needs
- s5l8702: add the Nano 3G's flash controller registers
- tagtree: warn if tagnavi.config is missing instead of freezing
- utils: iPod Nano 3G NAND check for contributors
- mks5lboot: support the iPod Nano 3G
- FixRed devices with non backlit remotes
- FixRed for devices without backlight
- add backlight_on_button_hold to plugins and backlight_use_settings_helper
- usb-drv-arc: defer SET_ADDRESS until status completion
- ipod6g: add hardware H.264 video playback
- root_menu: remove ACTIVITY_UNKNOWN hack for plugins
- quickscreen: fix icon x-position off-by-one
- option_get_valuestring: fix trailing whitespace for UNIT_INT
- ...
art_fetch 3.8
Artwork fetcher for PodBox music libraries — Windows build of tools/art_fetch/art_fetch.py.
Creates square JPEG artwork for a library organised as artist folders containing album folders:
- artist artwork at
Artist/folder.jpg - album artwork alongside each album
Download and run; no Python installation needed. See tools/art_fetch/README.md for usage.
Versioned separately from the firmware releases — the tool has its own cadence.