Retro aims to bring back the iPod Classic experience to iOS and Android. Retro currently only works with Spotify. Apple Music support is ongoing with no planned release date.
- iOS
- Android
- Spotify
- Liked Songs (deprecate all songs)
- Shuffle Songs
- Apple Music
If the Testflight is full you can sideload it.
Install the beta from the Google Play Store.
- Flutter/Dart for the main app
- Swift/SwiftUI for the WatchOS companion app (Retro Shuffle WIP)
- API: Spotify SDK, MusicKit
- Download and install Flutter. You can find instructions here.
- Ensure you have an Apple Developer account (paid or free). You can find instructions here.
- Clone this repository.
- Navigate to the project directory:
cd retro
- Open the
ios
folder in Xcode and select your Apple Developer account for signing. You may need to change the bundle ID. - Create a Spotify app here and insert the Client ID and Redirect URIs in the
.env.example
file. Rename it to.env
. The Redirect URI in your Spotify dashboard can be pretty much anything, e.g., comspotify:https://co.retromusic. Ensure the bundle ID in Xcode matches the one under iOS app bundles in the Spotify Dashboard. - In the terminal, run
flutter pub get && flutter run
. - The app should now run on your iOS device.
- Clone this repository.
- Navigate to the project directory:
cd retro
- Create a Spotify app here and insert the Client ID and Redirect URIs in the
.env.example
file. Rename it to.env
. The Redirect URI in your Spotify dashboard can be pretty much anything, e.g., comspotify:https://co.retromusic. - Navigate to the
android
directory and generate an SHA1 Fingerprint with the following command:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
(You will need to create one if you haven't already).
- Under 'Android packages' in your Spotify dashboard, add the corresponding package/application ID and paste the SHA1 fingerprint generated in the previous step. The android package name can be found in the AndroidManifest.xml files in the android/app/src (debug, main, profile) directories. Ideally, change the package name to something unique. Defaults to co.retromusic.app2.
- In the terminal, run
flutter pub get && flutter run
. - The app should now run on your Android device in debug mode.
Firstly, thank you for considering contributing 😁
- If you're fixing a bug, feel free to submit a PR and specify what you are fixing!
- If you believe something should be changed, open an issue here or discuss it on the Discord before making the change.
Other than that, there are no specific requirements. Your contributions are appreciated!