Skip to content

Releases: FabianZettl/inniclassic

InniClassic 1.2.0

Choose a tag to compare

@FabianZettl FabianZettl released this 27 Jul 18:44

Video playback, gapless playback, and a full visual consistency pass across every screen.

Added

  • Video playback - new "Videos" entry in the Main Menu, its own folder on the SD card (/storage/sdcard0/Videos), full-screen player with wheel-driven volume/seek. Now powered by libVLC instead of ExoPlayer - ExoPlayer's precise frame-timing API only exists from Android API 21 onward, and its fallback for older devices turned out to be broken on the Y1's API 17 (audio and the position clock stayed correct, but picture played back several times faster than real time). libVLC brings its own native AV-sync engine independent of that Android API, giving stable, correctly-synced playback. Audio-only playback is untouched and still runs on ExoPlayer. Thumbnails in the video list and resume-position are still unaddressed for now - see tools/handbrake_y1_preset.json for a ready-to-import HandBrake preset tuned for smooth playback on the Y1's chip.
  • Gapless playback - automatically kicks in for albums/playlists of 15 tracks or fewer, with shuffle off and no FLAC in the queue. Track transitions inside a gapless queue no longer stop and reload.
  • Favorites are always visible now on Now Playing - hollow heart normally, filled red heart when favorited, instead of nothing at all unless already a favorite.

Changed

  • Unified font sizes, left alignment, and row spacing across every menu (Main Menu, Music menu, Artists, Albums, Songs, Settings/Bluetooth/Wi-Fi).
  • Right-arrow indicator now only shows on the focused row, everywhere.
  • Thinner status bar matching real iPod proportions; narrows to the left column on both Main Menu and Music menu so the album cover bleeds behind it.
  • Main Menu and Music menu covers now share the exact same slow "Ken Burns" panning animation.
  • Bigger Now Playing album cover, bolder track counter, marquee-scrolling long titles, glass-look progress bar.
  • Larger album cover thumbnails in the Albums list.

Fixed

  • Focus arrow color was theme-dependent instead of fixed white.
  • A recycled list row's blue focused background could get incorrectly reset regardless of actual focus state.
  • Now Playing's progress ticker and the clock/widget refresh loop kept doing full work every 0.5-1s even when not visible (or during virtual screen-off) - both now sit idle unless actually needed. Should help battery life.

Install

  • rom.zip - flash via the Innioasis Updater, no ADB required. Must keep the filename exactly rom.zip.
  • InniClassic-1.2.0.apk - install over an existing JJ Launcher / InniClassic install via adb install InniClassic-1.2.0.apk.

Full changelog: https://github.com/FabianZettl/inniclassic/blob/master/CHANGELOG.md

InniClassic 1.1.2

Choose a tag to compare

@FabianZettl FabianZettl released this 26 Jul 22:45

Bug-fix release based on more Reddit feedback from multiple users.

Fixed

  • Crash browsing Artists, Album Artists, Albums, Songs, or Genres - songs with a missing artist/album tag could carry a null value that crashed the launcher wherever it was later compared. Every song now always gets a safe "Unknown Artist"/"Unknown Album" fallback.
  • FLAC files stuck at 0:00 - the fallback engine that FLAC was supposed to use was never actually being switched on.
  • Screen turning off during active use - spinning the wheel now correctly resets the auto-lock timer.
  • Charging indicator - the battery icon now actually draws a lightning bolt while charging (the code for it existed but was never enabled).
  • Long album/track names no longer overlap the battery/Bluetooth icons in the status bar.

Added

  • Shuffle row at the top of All Songs, matching the stock Y1 firmware.
  • FM Radio is back in the Main Menu (it had quietly disappeared from the theme config).

Install

  • rom.zip - flash via the Innioasis Updater, no ADB required. Must keep the filename exactly rom.zip. Ships the latest Y1 Firmware 3.1.2 with InniClassic pre-installed.
  • InniClassic-1.1.2.apk - install over an existing JJ Launcher / InniClassic install via adb install InniClassic-1.1.2.apk.

Full changelog: https://github.com/FabianZettl/inniclassic/blob/master/CHANGELOG.md

v1.1.1 - InniClassic: now flashable via Innioasis Updater

Choose a tag to compare

@FabianZettl FabianZettl released this 23 Jul 22:38

The project is now named InniClassic (still based on and credited to JJ Launcher — see README). Same 1.1.1 build as before, no functional version bump for the rename itself.

🆕 Now installable as a full ROM

rom.zip flashes directly via the Innioasis Updater — no ADB, no manual uninstall step. It ships the latest Y1 Firmware 3.1.2 with InniClassic pre-installed as the system launcher. Just select the zip in the Updater and follow the prompts (the Updater expects this exact filename, so don't rename it after downloading).

The APK (InniClassic-1.1.1.apk) is still available too, for updating an existing JJ Launcher-based install via ADB — see the README's Method 2.

Also in this build

  • New iPod Classic (Dark) theme
  • iPod Classic is now the true first-launch default theme
  • Fixed Bluetooth A2DP connect() failing on some speakers (missing BLUETOOTH_PRIVILEGED/WRITE_SECURE_SETTINGS, now self-granted at startup)
  • New Album Cover Tilt setting to turn off the Now Playing 3D tilt
  • Fixed track titles sometimes showing their file extension (.ogg, .wav, etc.)
  • Music menu: split "Artists" into Artists (track artist) and Album Artists (album artist), matching real iPod Classic
  • Music Quiz restructured into 5 rounds of 8 questions, with round-complete and victory screens
  • A PC-side script (tools/build_library_cache.py) to pre-build the library scan cache for large libraries, so the device doesn't have to re-tag everything on next boot
  • Plus the two Reddit-reported fixes from the original 1.1.1 (invisible web server text, wheel active while locked) — see below

Fixed (original 1.1.1 fixes)

  • Wireless PC Upload (web server) status text was hardcoded white, invisible against the iPod Classic theme's white background. Same issue fixed on the Bluetooth/Wi-Fi/Brightness/Storage/Settings screen titles.
  • The wheel stayed active while the device was locked (screen off) and could still change the volume — the guard for this existed but lived in a method that never actually ran on this device; moved to where it's effective.

Full changelog: CHANGELOG.md

Warning

Updating from an older APK install? Uninstall it first (adb uninstall com.themoon.y1 or adb shell pm uninstall --user 0 com.themoon.y1) — see the README's Installation section. The ROM method doesn't need this.

v1.1.0 - Now Playing sub-menus, star ratings, On-The-Go, Main Menu cleanup

Choose a tag to compare

@FabianZettl FabianZettl released this 23 Jul 07:20

Focused on getting closer to the real iPod Classic experience — especially a proper depth to the Now Playing screen, plus a cleanup pass on the Main Menu and some visual consistency fixes.

Added

  • Now Playing sub-menus: a center-click on the Now Playing screen now cycles through four states, exactly like a real iPod Classic — Progress bar → Seek (scrub bar with a diamond thumb, wheel jumps the track ±5s) → Shuffle & Repeat (quick toggle, wheel cycles each) → Rating (wheel sets 1-5 stars) → back to Progress. The wheel reverts to volume control outside of these states, same as on a real device.
  • Star ratings: rate any track 1-5 stars from the Now Playing Rating state above; shown as ★★★☆☆ under the track counter.
  • On-The-Go playlist: the classic always-available instant playlist. Reachable as a one-tap "Add to On-The-Go" action from the Now Playing hold-menu, or as a pinned entry in the full Add to Playlist dialog.
  • Now Playing hold-menu: long-press Center on Now Playing for Add to On-The-Go, Browse Album, Browse Artist, and Cancel — matching the real iPod's menu, plus a Toggle Visualizer entry for this fork's bonus spectrum/lyrics view.
  • Composers grouping in the Music menu, alongside the existing Artists/Albums/Genres/Years grouping.
  • Fast-scroll letter jump: spin the wheel quickly through an alphabetized list (Artists/Albums/Songs/Genres/Composers/Search) to jump straight to the next first-letter group, with an on-screen letter overlay while jumping — tuned so it triggers reliably without being overly twitchy on a quick spin.
  • Status bar now shows the current screen's name (Music/Now Playing/Settings/etc.) instead of a clock, matching the real iPod's title bar.

Changed

  • Main Menu cleanup: Cover Flow, Audiobooks, Folders, Years, Recently Added, and My Favorites have moved out of the Main Menu and into the Music menu where they belong on a real iPod. Main Menu is back down to Now Playing, Music, Music Quiz, Podcasts, Bluetooth, Wi-Fi, Settings, and Web Server.
  • The Main Menu's split-view album cover now genuinely fills the entire remaining screen edge-to-edge (computed from the real screen size) instead of a fixed-size box, so it bleeds above the status bar the same way the Music menu's cover panel already did.

Fixed

  • Menu text size was inconsistent between screens: Music-menu-style rows (Artists/Albums/Composers/Songs/Settings) were sized in sp while the Main Menu's buttons were sized in raw pixels — same nominal number, different unit, so they never quite matched. Everything now renders at the exact same size.

Full changelog: CHANGELOG.md

Warning

If you have an older version installed, uninstall it first (adb uninstall com.themoon.y1 or adb shell pm uninstall --user 0 com.themoon.y1) before installing this APK — see the README's Installation section for the full mandatory step-by-step (including replacing the stock JJ Launcher).

JJ Launcher Classic Version 1.0.0

Choose a tag to compare

@FabianZettl FabianZettl released this 21 Jul 10:23

First public release. Based on JJ Launcher 0.11.

Added

  • Bundled "iPod Classic" theme: two-pane Main Menu and Music menu with a full-bleed panning album cover, angled Now Playing cover with reflection, redesigned Artist/Album lists (icon-free, large covers, "All Songs" per artist), a text search screen, and system-wide bold Nimbus Sans typography
  • Last.fm scrobbling: local Rockbox-style .scrobbler.log + live API scrobbling with browser-based login
  • Music Quiz: first version of the classic iPod Music Quiz mini-game, styled after the original's "Fruitiger Aero" look
  • OGG Vorbis playback and library support (including auto-detection of Opus-encoded files mislabeled as .ogg)
  • Main Menu shortcuts for Music Quiz, Podcasts, Audiobooks, Folders, Years, Recently Added, My Favorites

Fixed

  • Duplicate songs in album track lists after interrupted scans
  • Missing album art in Artist -> Albums lists (folder cover.jpg/folder.jpg fallback)
  • OGG files not appearing in the library
  • OOM crash loop scanning large libraries
  • Album art forced to true 1:1 crop

Notes

  • Currently only tested/available for the Innioasis Y1, on System Software 2.1.9
  • Prerequisite: device must already be running JJ Launcher (installed via the Innioasis Updater) - this release replaces the launcher app itself, not the device firmware
  • Install with adb install -r JJLauncherClassic-1.0.0.apk
  • This APK is debug-signed (no production keystore has been set up yet for this fork)

See CHANGELOG.md for the full list.