Skip to content

All-In-One Discord Music RPC for Apple Music, Spotify, TIDAL and Deezer.

License

Notifications You must be signed in to change notification settings

vyolit/MusicRPC

Repository files navigation

MusicRPC

All-In-One Discord Music RPC for Apple Music, Spotify, TIDAL and Deezer.

WIP

MusicRPC is in development and may not work in its current state if compiled manually. Please come back later for a release!

Preview

Preview

Services

MusicRPC technically supports all services (even on the browser), however it's limited to:

  • Apple Music
  • Spotify
  • TIDAL
  • Deezer

If you want to have a service added, open an issue.

Installation

  1. Download the latest dmg from the releases
  2. Drag MusicRPC into the Applications folder

Compatibility

Mac running macOS 11 or later.

Behind The Scenes

How is this achieved?

MusicRPC utilizes a private framework called MediaRemote. MediaRemote is responsible for the system wide now-playing data, which means it can be utilized to retrieve the current song name etc. from any app that's registered as a now-playing app.

How is MediaRemote linked?

Xcode needs to be told to look for private frameworks. This can be done by adding $(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/PrivateFrameworks to the project's Build Settings under Search Paths -> Framework Search Paths. After that, MediaRemote.framework can be embedded from ~/Library/Developer/Xcode/UserData/.

License

GPLv3