Skip to content

Latest commit

ย 

History

611 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸŽต ClassiPod

Classipod App Screenshots

ClassiPod brings an iPod Classic-inspired click wheel to your music collection. Play local audio files or stream from a Subsonic-compatible server, including Navidrome. Browse both libraries together, or focus on your server collection.

Available for Android, iOS, macOS, Windows, Linux and web. Native apps support local music and server streaming. The web app plays demo songs or connects to your server; it does not import local folders.

Local files play offline. Server music requires your own compatible server, an account on that server, and a network connection. ClassiPod does not include a music subscription, offline server downloads, or server playlist syncing.

โœจ Features

๐Ÿ—ƒ๏ธ Your library, local and streamed

  • ๐ŸŒ Stream from Subsonic-compatible servers such as Navidrome through Settings โ†’ Library Settings โ†’ Subsonic.
  • ๐Ÿ  Combine local and server tracks, or use Hide Local Music while streaming.
  • ๐Ÿง‘โ€๐ŸŽค Browse songs, artists, album artists, albums, and genres.
  • ๐Ÿ” Search songs, artists, albums, and your ClassiPod playlists.
  • ๐Ÿ“‚ Discover Android music through MediaStore. Select a parent music folder on iOS, macOS, Windows, or Linux and scan its subfolders automatically.
  • โšก Cache metadata and artwork for faster startup, refresh the library, rebuild the index and exclude folders.
  • ๐Ÿ“‹ Inspect unreadable files and retry guidance in Missing Tracks.
  • ๐Ÿงน Optionally hide duplicate filenames without deleting music files.
  • ๐Ÿ“ƒ Create and save custom ClassiPod playlists.
  • โญ Rate songs, with ratings and edits stored in ClassiPod.
  • ๐Ÿ“ View embedded lyrics when available.
  • ๐ŸŽถ Play MP3, WAV, FLAC, M4A, MP4, Ogg, Opus, AAC, AIFF, APE, and MOV audio, subject to the platform's playback support.

๐ŸŽง Playback and controls

  • ๐ŸŽก Navigate with the rotating click wheel or touchscreen.
  • โฎ๏ธ Skip tracks, seek forward or backward, and adjust volume in the app.
  • ๐Ÿ”€ Shuffle songs or whole albums, keeping album tracks in disc/track order.
  • โžฐ Repeat one song or the current queue.
  • ๐Ÿ’พ Restore the previous queue and selected song after reopening, paused at the beginning of the song.
  • ๐Ÿ’ค Set a sleep timer for 15, 30, 45, or 60 minutes, or the end of the song.
  • ๐Ÿ“ฑ Enjoy background playback and mobile media controls, Windows system media controls, and Linux MPRIS controls where supported.
  • ๐Ÿ“ก Recover server playback after temporary connection failures, with buffering feedback and a Retry action when needed.
  • โฉ Scrub to a previewed position before committing the seek.
  • ๐Ÿ’ฟ See queue position and progress in Now Playing, with access to ratings, shuffle controls, and available lyrics.

๐Ÿ“ฑ The iPod Classic-inspired interface

  • ๐ŸŽž๏ธ Explore Cover Flow with Original and Big layouts, smooth wheel motion, and animated transitions.
  • ๐Ÿชž Enjoy reflective album artwork.
  • ๐ŸŽจ Choose light and dark screen themes and device colors including Silver, Black, OLED Black, and more.
  • ๐Ÿ“บ Browse with split-screen previews and scrolling titles.
  • ๐Ÿ”ค See a letter indicator while scrolling quickly through your collection.
  • ๐Ÿ“Œ Return to remembered selections and scroll positions when navigating back.
  • โฑ๏ธ Automatically return to Now Playing after inactivity during playback; temporary Now Playing controls also return to the progress view.
  • ๐Ÿ”‰ Hear bundled iPod-inspired click wheel sounds.
  • ๐Ÿ“ณ Enable vibration feedback on supported devices.
  • ๐Ÿ–ฅ๏ธ Use responsive layouts and fullscreen Immersive Mode.
  • ๐Ÿ”‹ View battery level and charging status where supported.
  • ๐Ÿ“– Get started with the introductory tutorial.
  • โ„น๏ธ Find app information in the About screen.
  • ๐ŸŒ Use ClassiPod in your language with a multilingual interface.

๐ŸŽต Supported audio formats

ClassiPod imports a format when its metadata can be read and at least one configured playback backend can play it. Playback availability therefore varies by platform:

Format Extensions Expected playback
MP3 .mp3 Android, iOS, Windows, Linux, web
PCM WAV .wav Android, iOS, Windows, Linux, web
FLAC .flac Android, iOS, Windows, Linux, major browsers
AAC in MP4 .m4a, .mp4 Android, iOS, Windows, Linux, major browsers
Ogg Vorbis .ogg Android, Windows, Linux, supporting browsers
Ogg Opus .opus Android, Windows, Linux, supporting browsers
Raw ADTS AAC .aac Android, iOS, Windows, Linux; browser-dependent
AIFF / AIFF-C .aif, .aiff, .aifc iOS, Windows, Linux
Monkey's Audio .ape Windows, Linux
QuickTime .mov iOS, Windows, Linux; browser-dependent

๐Ÿ”œ Upcoming Features

  • ๐ŸŽฎ Ipod Built-in Games
  • ๐Ÿ“ธ Ability to View Photos and Videos from the device

Connect to Subsonic or Navidrome

Open Settings โ†’ Library Settings โ†’ Subsonic and enter the server's base URL (including any reverse-proxy path), username and password. ClassiPod supports token-authenticated Subsonic API 1.13+ servers, including Navidrome. The connection is checked before saving. Native apps combine server and local music; Web shows the server library instead of demo songs while enabled.

Configure Subsonic edits the connection or removes it. Turning Subsonic off keeps its configuration and cache, hides its tracks, and stops server playback. Hide Local Music shows only server music while Subsonic is enabled. Prevent Duplicate Tracks hides matching filenames without deleting files. Saved playlist entries remain available when the same server is reconnected. Refresh Library fetches a new catalog; Re-index also clears cached server artwork. Failed scans retain the previous catalog. Ratings and edits stay in ClassiPod and are not written back to the server.

Native passwords use OS secure storage. Web passwords last only until reload; re-enter the password through Configure Subsonic or when starting playback. Metadata and artwork are cached, but audio is streamed and requires a connection. Server playlist synchronization and offline audio downloads are not included.

Web servers must allow CORS from the ClassiPod origin. Browsers block HTTP servers from an HTTPS app. Native apps allow HTTP for user-configured servers, including LAN IP addresses, using app-wide Android and Apple transport exceptions because server hosts are not known at build time. HTTPS certificates are still validated. HTTP traffic is unencrypted; prefer HTTPS when available. Transport configuration changes require rebuilding and reinstalling the app; hot reload does not apply them. Linux secure storage requires the system Secret Service/libsecret; Windows builds require the Visual Studio ATL component used by flutter_secure_storage.

๐Ÿ’ป Installation links

Platform Installation Links
Android Get it on Google Play
Get it on F-Droid
APK download
Linux Download .AppImage

Download .deb

Download .rpm
Windows Download Windows Installer
iOS Download .ipa
Unsigned; requires sideloading and signing on your device.
macOS Download .dmg
Apple Silicon and Intel; no Developer ID signature or notarization.
Web App Web App

Installing on iPhone or iPad

Download Classipod-iOS.ipa from a release that includes Apple builds. This is an unsigned device build, not an App Store or TestFlight download. Install it using AltStore Classic with AltServer, or another compatible sideloading tool, which signs it using your Apple account. Downloading the IPA in Safari alone does not install it.

With a free account, AltStore apps need refreshing every seven days, and the three-active-app limit includes AltStore itself. Follow the tool's installation instructions, including Developer Mode where required. See AltStore's account limits.

Installing on macOS

Download Classipod-macOS.dmg, open it, and drag classipod.app into Applications. The universal app supports Apple Silicon and Intel Macs running macOS 12 or later.

The app is not notarized or signed with an Apple Developer ID. It carries a local ad-hoc signature for execution on Apple Silicon; this does not verify a developer identity. Gatekeeper may block the first launch. If you trust the release, try opening the app, then use System Settings โ†’ Privacy & Security โ†’ Open Anyway and confirm. See Apple's instructions.

On both platforms, choose a parent music folder when prompted. ClassiPod scans its subfolders and caches metadata and artwork. Use Settings โ†’ Library Settings โ†’ Re-index to select a folder again and rebuild the index.

Apple downloads appear only on releases built with their platform options selected. See Apple release documentation for build commands, checksums, and release configuration. The web app can play demo songs or stream from a Subsonic/Navidrome server. It does not import local folders.

๐Ÿ”Œ Plugins

Name Usage
audio_service To support background audio playback
audio_service_mpris Linux system media controls
audio_service_win Windows system media controls
flutter_secure_storage Store native server credentials securely
http Connect to Subsonic-compatible servers
battery_plus Shows phone battery level and status
cupertino_icons For ios style icons
device_preview_plus For visualizing how the app looks on different devices and screens
disable_battery_optimization To Disable vendor or android specific battery optimizations for background playback
file_picker To select the directory from which the music files are scanned
flutter_localizations For in-app localization map data
flutter_riverpod For State Management
flutter_taglib To read local audio metadata and embedded artwork
go_router To handle routing within the app
hive_ce To Cache Auio Metadata and store playlists
hive_ce_flutter For flutter specific libs of hive
intl For internalization and localization of the app
just_audio To play audio files
just_audio_media_kit To play audio files on Windows and Linux
media_kit_libs_linux Media kit Libraries for Linux
media_kit_libs_windows_audio Media kit Libraries for Windows
on_audio_query To discover music through Android MediaStore
path_provider To fetch app data directories
permission_handler To check and request for file and audio access permissions
shared_preferences To store system settings
tutorial_coach_mark To provide app tutorial to the users
universal_html For Launching the app in full-screen mode on web versions
url_launcher For Launching the Donation Page Link
vibration Used for vibration while using device controls
vibration_web Used for vibration on the webapp version
build_runner For code generation
flutter_lints For using recommended flutter lints
flutter_test For unit and widget testing the app
hive_ce_generator For automatically generating Hive TypeAdapters
riverpod_lint For using riverpod specific linting rules

๐Ÿค“ Author

Aditya R

๐Ÿ”– LICENCE

Copyright (c) 2025 Aditya R BSD-4-Clause LICENCE

๐Ÿ™ Attributions

Ipod icons created by Freepik - Flaticon

Releases

Sponsor this project

Packages

Used by

Contributors

Languages