macOS menu bar app that publishes now-playing info to Discord Rich Presence.
Download · Homebrew · Development
Applepie pulls playback metadata from:
- Your Mac (Music.app)
- AirPlay targets like HomePod / Apple TV (via
pyatvthroughPylibKit)
Then it keeps your Discord activity updated with track details and playback progress.
- Discord Rich Presence with track title, artist, album, and artwork
- Playback progress bar (position and duration)
- AirPlay device selection + pairing flow for protected devices
- Adjustable update interval
- Clear cached pairing credentials
- Download the latest DMG from the GitHub Releases page.
- Move
Applepie-RPC.appinto/Applications. - Launch Applepie and grant permissions when prompted.
Homebrew tap is hosted in a dedicated repo:
https://github.com/Skyline-23/homebrew-applepie-rpc
brew tap skyline-23/applepie-rpc
brew install --cask applepie-rpcTo upgrade:
brew upgrade --cask applepie-rpcApplepie supports automatic updates (Sparkle) via:
https://github.com/Skyline-23/Applepie-RPC/releases/latest/download/appcast.xml
To avoid conflicts with cask-managed installs, Applepie prefers Homebrew as the update authority when it detects a Homebrew cask install.
- macOS
- Discord desktop app running
- Apple Music authorization (prompted at launch)
- Accessibility permission (prompted at launch)
- AirPlay devices on the same network (for HomePod/Apple TV)
- Click the menu bar icon to open the UI.
- Select an AirPlay device from the Device menu.
- If pairing is required, enter the PIN shown on the device.
- Adjust the update interval slider to control polling.
- Use Clear Cache to remove stored pairing credentials.
- No progress bar: some devices do not expose duration; try another target or re-pair.
- RPC not updating: confirm Discord is running and check logs for
[DiscordService]. - Pairing issues: Clear Cache and retry pairing.
- Pairing credentials are stored under
~/Library/Application Support/Applepie-RPC/pyatv_storage.json. - The Python runtime is bundled via PylibKit; no system Python setup is required.
- Open
Applepie-RPC.xcodeprojin Xcode. - Build and run the
Applepie-RPCtarget. - Grant permissions when prompted.
- Create a tag like
v1.2.3and push it. - GitHub Actions builds the app, creates a DMG, generates
appcast.xml, and publishes a release. - The workflow updates
Skyline-23/homebrew-applepie-rpccask version/sha automatically. - Clients will see the update once the tag and appcast are live.
Tag naming follows SemVer: vMAJOR.MINOR.PATCH (3-part). For hotfixes, bump PATCH. Legacy 4-part tags exist; avoid creating new ones.
CERT_P12_BASE64,CERT_PASSWORD,KEYCHAIN_PASSWORDAPPLE_ID,APPLE_PASSWORD,TEAM_IDAPPSTORE_PRIVATE_KEY_P8,APPSTORE_KEY_IDSPARKLE_ED25519_PRIVATE_KEY(matchesSUPublicEDKeyin Info.plist)