An ipod classic for iOS/Android, built with Flutter

Overview

hero

About

Discord Twitter

Retro aims to bring back the iPod Classic experience to iOS and Android. I originally started working on it nearly 2 years ago and released it as a TestFlight beta (because Apple wouldn't allow it on the App Store) and have been maintaining it myself since.

Unfortunately Retro in its current state is too hard to maintain due to poor choices I made 2 years ago that hinders the app today. It's far too difficult to add new stuff to it without breaking other parts of the app, not to mention the number of existing issues that have gone unfixed for so long.

That said, I've decided that it would be best to restart from scratch, rely on fewer dependencies, and (hopefully) write cleaner + better code in the process πŸ˜… . I've had a handful of requests from people in the past asking how they can help and I've always wanted to eventually open-source the app, but I believe now is the right time.

This version of Retro will eventually succeed the current build that's available on TestFlight.

Stack

Setup

  1. Download and install Flutter
  2. Clone this repository
  3. cd retro
  4. flutter pub get && flutter run
  5. That's it!

Note: If you want to develop on this, you're going to need a mac as well as an Apple Developer Account (paid or free)

Contributing

Firstly, I appreciate you for taking the time to contribute 😁

If you're fixing a bug, feel free to just submit a PR and specify what it is that you're fixing! If there's something that you believe should be changed, open an issue here or discuss it on the Discord before actually making said change.

Other than that, I don't really have any specific requirements.

TODO

This is a list of all the things that are left to complete (there's likely more that I can't think of atm). Feel free to add onto it.

Description iOS Android
Apple Music implementation 🚧 N/A
Spotify implementation 🚧 🚧
Play Music from files 🚧 🚧
Skins (Background) βœ… βœ…
Skins (Wheel) 🚧 🚧
iPod Animations 🚧 🚧
Games 🚧 🚧
iPod Themes 🚧 🚧
Configurable app icons 🚧 🚧
Clickwheel feedback βœ… βœ…
Exponential scrolling βœ… βœ…
Menu Layout βœ… βœ…
Music Player functions 🚧 🚧
Migrate to Android embedding v2 N/A βœ…
Migrate to Flutter 3 βœ… βœ…
Splash screen 🚧 🚧
Dynamic Menu Sizes 🚧 🚧
Responsive to all screens 🚧 🚧
Comments
  • Speed Scrolling

    Speed Scrolling

    Currently when you pan on the wheel, you scroll at a constant speed. The speed in which you scroll should increase exponentially the longer you scroll

    enhancement help wanted medium priority 
    opened by sakofchit 2
  • Changed Readme, tested for Flutter 3 compatibility and updated selection color

    Changed Readme, tested for Flutter 3 compatibility and updated selection color

    Tested the code with a new flutter 3 installation, everything works as expected. Some warnings about a redundant check that something isn't null, according to a quick google search changing anything isn't required

    Updated readme to clarify that a Mac is required (and that a free developer account is enough)

    Changed the selection colors to match those on an iPod by taking them from an old image found on Apples Website using archive.org

    opened by fritzlb 2
  • Playlists

    Playlists

    Alphabetical order of playlists (mine are in the order they are created). Tracks within a playlist are in alphabetical order, not in the Apple music app and iTunes playlist order.

    opened by Bermudagirl52 1
  • Shuffling

    Shuffling

    On the old Retro app, I implemented Shuffling by simply playing a random song from the user's library when the user tapped on the fast forward icon. I wasn't keeping track of songs the user had already played so there was no way to go back lol

    So for this to work, the simplest approach would be to create a temporary song list/playlist upon tapping on the 'shuffle' button that has the id of each random song that's added to it in the order that they are played.

    medium priority 
    opened by sakofchit 1
  • [WIP] Spotify Implementation

    [WIP] Spotify Implementation

    Decided that each music service implementation should have its own separate issue to keep track of them better.

    We're using this package btw: https://github.com/brim-borium/spotify_sdk

    #14

    opened by sakofchit 2
  • App icon to match theme

    App icon to match theme

    Had this in the other version of Retro and it probably wouldn't hurt to add it in here as well

    This plugin can assist with it: https://pub.dev/packages/flutter_dynamic_icon

    enhancement 
    opened by sakofchit 0
  • Coverflow

    Coverflow

    Should display album covers and allow users to select songs through them. This obv won't work until we implement some sort of music functionality first

    enhancement help wanted medium priority 
    opened by sakofchit 2
  • Device Themes

    Device Themes

    The ability for users to switch between the different iPod Classic generation themes (1-7).

    A nice to have would also be the ability for them to upload their own skins/mix n' match themes.

    help wanted medium priority 
    opened by sakofchit 0
Releases(alpha)
  • alpha(Nov 29, 2022)

    Let me preface this by saying there's still a lot missing and quite a ways to go, but the core parts of the app have been rebuilt and I'm pretty happy with the progress thus far.

    What works:

    • Spotify (hopefully)
    • Playlists are actually in the order as they appear in your library (as well as the songs in them)
    • Themes (this is an overstatement)
    • Exponential Scrolling! Thanks to @fritzlb

    At the moment, the focus is only on Spotify and the integration for IOS is mostly complete. Android isn't too far off.

    I'll have a new TestFlight out soon, but in the meantime I'll be pushing IPAs here. If you want to help test or contribute to the project (pls do) that'd be swell

    Source code(tar.gz)
    Source code(zip)
    Retro.v0.0.1-alpha.1.zip(19.20 MB)
Owner
Retro Music
Open Source Projects for Retro
Retro Music
A flutter plugin to handle Android / iOS camera

?? Overview Flutter plugin to add Camera support inside your project. CamerAwesome include a lot of useful features like: ?? Live camera flip ( switch

Apparence.io 511 Jan 5, 2023
A Flutter plugin to use speech recognition on iOS & Android (Swift/Java)

speech_recognition A flutter plugin to use the speech recognition iOS10+ / Android 4.1+ Basic Example Sytody, speech to todo app Installation Depend o

Erick Ghaumez 331 Dec 19, 2022
A flutter package for iOS and Android for applying filter to an image

Photo Filters package for flutter A flutter package for iOS and Android for applying filter to an image. A set of preset filters are also available. Y

Ansh rathod 1 Oct 26, 2021
Flutter plugin for selecting multiple images from the Android and iOS image library

Flutter plugin for selecting multiple images from the Android and iOS image library, taking new pictures with the camera, and edit them before using such as rotating, cropping, adding sticker/filters.

Weta Vietnam 91 Dec 19, 2022
A Flutter package for both android and iOS which provides Audio recorder

social_media_recorder A Flutter package for both android and iOS which provides

subhikhalifeh 16 Dec 29, 2022
Audio classification Tflite package for flutter (iOS & Android).

Audio classification Tflite package for flutter (iOS & Android). Can also support Google Teachable Machine models.

Michael Nguyen 47 Dec 1, 2022
A Flutter audio plugin (Swift/Java) to play remote or local audio files on iOS / Android / MacOS and Web

AudioPlayer A Flutter audio plugin (Swift/Java) to play remote or local audio files on iOS / Android / MacOS and Web. Online demo Features Android / i

Erick Ghaumez 489 Dec 18, 2022
Tiwee - An IPTV player developed for android/ios devices with flutter

Tiwee An IPTV player developed for android/ios devices with flutter you can watc

Hossein 58 Dec 27, 2022
A Flutter media player plugin for iOS and android based on ijkplayer

Flutter media player plugin for android/iOS based on ijkplayer.

δΊŽι£žη™½ε‘€ 1.4k Jan 4, 2023
Apps For streaming audio via url (Android, iOS & Web ). Developed with Dart & Flutter ❀

Flutter Sleep App (Dicoding Submission : Learn to Make Flutter Apps for Beginners) Stream Great collection of high-definition sounds that can be mixed

Utrodus Said Al Baqi 13 Nov 29, 2022
Just_audio: a feature-rich audio player for Android, iOS, macOS and web

just_audio just_audio is a feature-rich audio player for Android, iOS, macOS and web. Mixing and matching audio plugins The flutter plugin ecosystem c

Ensar Yusuf YΔ±lmaz 2 Jun 28, 2022
Automatically generates native code for adding splash screens in Android and iOS.

Automatically generates native code for adding splash screens in Android and iOS. Customize with specific platform, background color and splash image.

Jon Hanson 949 Jan 2, 2023
Minimalistic local music player built with flutter for android.

Nano Music Player Simple local music player built with flutter. It uses the audioplayer plugin to play files, and path_provider to locate the external

Jan Hrastnik 34 Dec 17, 2022
Enjoy podcasts with Tsacdop! A podcast player built with flutter.

About Enjoy podcasts with Tsacdop. Tsacdop is a podcast player developed with Flutter, a clean, simply beautiful and friendly app, which is also free

stonegate 339 Dec 31, 2022
A feature-packed audio recorder app built using Flutter

Qoohoo Submission ??️ An audio recording/playing app. ??️ This is a basic audio

Akshay Maurya 24 Dec 22, 2022
MusicAppPlaylist - Music App Playlist Built With Flutter

Music_App_Playlist This is Playlist theme model & here used visibility widget...

null 4 Nov 10, 2022
Spotube - A lightweight free Spotify desktop-client built using flutter

Spotube is a Flutter based lightweight spotify client. It utilizes the power of

Kingkor Roy Tirtho 2.3k Jan 7, 2023
Song-Noise-Recorder - Song Noise Recorder Built Using Flutter

Song-Noise-Recorder Flutter App that is able to play an .mp3 song (local asset)

Cristian Ciont 1 Feb 7, 2022