Skip to content

Latest commit

 

History

History
121 lines (88 loc) · 4.58 KB

README.md

File metadata and controls

121 lines (88 loc) · 4.58 KB

UniMusic logo, a musical slur resembling smiley face

UniMusic

Unified cross-platform music player.

Demo showcase

iosDemo.MP4

Roadmap

Development is currently prioritized for iOS and macOS, however first stable release should also work on Android, Linux and Windows.

  • ✅ - Basically ready
  • 🟧 - Partially done
  • 🟥 - Not yet added
  • ❓ - Unknown if it will be added
Service Status
MusicKit
YouTube
Local media
Deezer
Jellyfin
Funkwhale
Feature Status Notes
Unified search
Unified playlists 🟧 Missing UI for adding songs to playlist
Unified library 🟧 Missing album support (WIP)
Metadata tagging 🟥 Manual metadata edition is supported
Media synchronisation 🟥
Lyrics 🟥

Dates attributed to each features are a subject to change as they are a very rough estimates at a very early point in development. Debugging, life-related things, app design and such might affect them. I will try to update the roadmap as the development progresses.

* – Features considered "optional", unclear whether they will materialize

Development

Shared

These steps are needed for every platform to work properly

  1. Make sure you have all dependencies required to build the app:
    • Package manager: pnpm.
    • Make sure you have downloaded all prerequisites for:
  2. Place your MusicKit Developer Token in corresponding files:
    • /.example.env ⇢ /.env
  3. Setup ionic and install dependencies
pnpm install -g @ionic/cli          # Install ionic cli globally
ionic config set -g npmClient pnpm  # Make ionic use pnpm
pnpm install                        # Install all project dependencies

Web

ionic serve             # Run the development server
ionic serve --external  # add --external if you want to host it to other devices on your network
ionic build             # Build the web app into dist/web

Electron

  1. If you intend to use DRM content via MusicKit in Electron you need to sign the electron application with VMP certificate, read more:
pnpm electron-dev     # Run the app with development server
pnpm electron-build   # Build the electron app into dist/electron
pnpm electron-preview # Preview how the app will look like in production mode

Mobile

Note

MusicKit authorization on mobile requires you to already have Apple Music app installed.

iOS

Important

To run iOS app you will have to use physical device, as MusicKit is not supported in Simulator.

  1. Build and open in Xcode
ionic capacitor build ios
  1. Run on physical device

Android

Note

Unlike iOS you can use Android Virtual Devices (AVD) found in Android Studio or any other Emulator for that matter.

  1. Place your MusicKit Developer Token in:
    • /android/app/src/main/res/values/tokens.example.xml ⇢ /android/app/src/main/res/values/tokens.xml
  2. Build or open the app
ionic capacitor open android # Build android and open Android Studio
ionic capacitor run android  # Or run android app directly in emulator

Recommended IDE Setup

VS Code + Vue + Ionic.