yanpresence

Apple Music → Discord

Your status line says the song.

yanpresence mirrors what you're playing into Discord — laid out like Discord's own Spotify integration, but with the track name where everyone can read it, album art at full size, and the song, artist and album all clickable straight back to Apple Music.

Windows 10/11, 64-bit · macOS and Linux install from source

Listening to Apple Music
Be Her
1:04
yanxu Listening to Be Her status line
someone else Listening to Ella Langley spotify

What you get

Built to match Discord's own integration, then go past it.

THE STATUS LINE

The song, not the artist

Discord picks one field for the one-line status under your name. Spotify points it at the artist; yanpresence points it at the track, so your status reads the way people expect.

ARTWORK

1024×1024 covers

Pulled from Apple's artwork CDN at the full square size Discord's own docs recommend — not the thumbnail a media notification would hand over.

LINKS

Three clickable fields

Song, artist and album each link back to Apple Music. Hovering the cover shows the album; clicking opens it.

PLAYBACK

A live progress bar

With seek detection — scrub the track and the bar follows. Pause and the status disappears, the same way Discord's Spotify integration behaves.

Three platforms

Three completely different ways in. One pipeline.

Apple gives up playback state differently on every platform — and on Windows, differently for each of its two apps. Every source hands back an identical snapshot, so catalog lookups, links, artwork and the card itself never know which one they're serving.

macOS

Apple Events

Music.app and TV.app are scripted through the same iTunes-descended dictionary, read by a resident osascript rather than one spawn per poll.

Apple Music
Music.app
Apple TV
TV.app

Windows

Media session + UI Automation

Apple Music publishes a media session — the record behind the flyout over the volume overlay. Apple TV publishes none at all, so it's read off the player's own accessibility tree.

Apple Music
SMTC session
Apple TV
UI Automation

Linux

Browser web player

Apple ships no Linux app, so playback comes from music.apple.com — over a companion extension, over MPRIS on the session bus, or both at once.

Apple Music
Extension / MPRIS
Apple TV
Not available
On Windows, just run the installer. It includes the runtime and artwork tools, adds a Start menu entry and starts at login. Quit from the notification-area icon whenever you want; your presence clears when the app exits.

Animated artwork

Animated covers. Hosting included.

yanpresence turns Apple’s motion covers into animated AVIF and uploads them to shared artwork storage automatically. No bucket, cloud account or storage keys to set up. The full loop is kept, with high-quality 1024px artwork by default.

The table shows one measured 20.6s cover; file sizes vary. Shared hosting accepts artwork up to 25 MiB and limits upload frequency. Static covers are used when an animation cannot be uploaded.

FormatSizeOutput
AVIF crf201024px3.7 MB
AVIF crf262160px8.4 MB
AVIF crf202160px12.2 MB
AVIF crf142160px18.8 MB
WebP q922160px88.3 MB
GIF1000px~128 MB
The encode can go to the GPU. On Windows with an AMD card it does by default — AMF produces AVIF that Discord renders, measured faster and smaller than the CPU encoder. On Linux it deliberately doesn't: the same silicon through VAAPI produces files Chromium refuses to decode, and Discord is Chromium.

Download

Run the installer. Press play.

On Windows, one installer includes everything yanpresence needs. The Apple Music and Apple TV Discord applications and shared artwork hosting are already configured. Just open Discord and play something.

yanpresence-windows-x64-setup.exe · Windows 10/11, 64-bit

What you need

  • Windows 10/11, 64-bit, with Apple Music or Apple TV from the Microsoft Store.
  • The Discord desktop app, running with activity sharing enabled.
  • macOS and Linux: use the source install with Node.js 18+ and ffmpeg for animated covers.
Artwork is public. Animated covers and embedded covers from local tracks are uploaded to shared storage and accessible to anyone with the URL. Your music and video files stay on your computer. You can disable uploads or use your own storage in advanced settings.