AAEQ can detect "Now Playing" information from virtually any music streaming service on Linux, Windows, and macOS. This guide explains how to ensure your favorite service is supported.
| Platform | Services Supported | Setup Required |
|---|---|---|
| Linux | All MPRIS-compatible apps | ✅ None - works out of the box |
| Windows | All SMTC-compatible apps | ✅ None - works out of the box |
| macOS | All apps (with tool installed) | nowplayingctl recommended |
These services work on all platforms without any additional setup:
- Spotify - Desktop app
- Apple Music / iTunes - Native apps
- YouTube Music - Browser or desktop app
- Amazon Music - Desktop app
- Deezer - Desktop app
- SoundCloud - Browser or desktop app
- Pandora - Browser or desktop app
- And many more...
Works with: Any app that implements MPRIS2 (Media Player Remote Interfacing Specification)
Commonly supported apps:
- Spotify ✅
- Strawberry Music Player ✅
- VLC ✅
- Clementine ✅
- Rhythmbox ✅
- Firefox/Chrome web players ✅
- And most other Linux music players
Setup: None required - if your app shows up in media controls, it will work!
Works with: Any app that implements System Media Transport Controls (SMTC)
Commonly supported apps:
- Spotify ✅
- iTunes ✅
- Apple Music ✅
- Tidal ✅
- YouTube Music (browser) ✅
- Amazon Music ✅
- Deezer ✅
- And most modern Windows apps
Requirements: Windows 10 version 1803 or later (most users have this)
Setup: None required - if your app shows up in Windows media controls (volume overlay), it will work!
Two detection methods:
Works with: ALL streaming services including:
- Spotify ✅
- Tidal ✅
- YouTube Music ✅
- Amazon Music ✅
- Deezer ✅
- SoundCloud ✅
- Apple Music ✅
- And virtually any other music app
Setup Required: Install nowplayingctl:
brew install nowplayingctlThat's it! AAEQ will automatically detect and use it.
Works with: Only Music.app and Spotify
Setup: None - works out of the box, but only supports Music.app and Spotify
macOS has native system-wide media detection, but accessing it requires an additional tool (nowplayingctl). Without it, AAEQ falls back to AppleScript which only works with Music.app and Spotify.
Bottom line: Install nowplayingctl on macOS for the best experience!
-
Check if the app is playing
- Make sure music is actually playing (not paused)
- Some apps only publish metadata when playing, not when paused
-
Linux: Check MPRIS support
# List available MPRIS players dbus-send --session --print-reply --dest=org.freedesktop.DBus \ /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep mpris
If your app doesn't show up, it may not support MPRIS.
-
Windows: Check media controls
- Press the volume keys and see if the media overlay shows your app
- If it doesn't appear, the app may not support SMTC
- Try restarting the app
-
macOS: Install nowplayingctl
# Check if nowplayingctl is installed which nowplayingctl # If not found, install it brew install nowplayingctl # Test it nowplayingctl get title artist album
Some apps don't properly implement media controls:
- Browser players: Sometimes show the webpage title instead of song title
- Solution: Use the dedicated desktop app when available
- Example: Use Spotify desktop app instead of Spotify Web Player
Solution: Install nowplayingctl:
brew install nowplayingctlWithout this tool, only Music.app and Spotify are supported on macOS.
# Start playing music, then:
dbus-send --session --print-reply --dest=org.mpris.MediaPlayer2.* \
/org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get \
string:org.mpris.MediaPlayer2.Player string:MetadataStart playing music and check if the media overlay (volume keys) shows your app.
# With nowplayingctl installed:
nowplayingctl get title artist album
# Should show currently playing trackFor developers interested in how this works, see:
- CROSS_PLATFORM_MEDIA_DETECTION.md - Technical documentation
crates/media-session/- Source codecrates/media-session/README.md- API documentation
Found a streaming service that doesn't work? Open an issue with:
- Platform (Linux/Windows/macOS)
- App name and version
- Debug logs (
RUST_LOG=debug aaeq)
We'll investigate and add support if possible!