
**Track Presence** is a lightweight Discord music status application that tracks what you’re listening to and displays it on Discord. It’s modular, fully local, and extremely resource-efficient — under 1 MB in size, minimal CPU, and memory usage.
# Features
- ✅ Lightweight, low CPU & RAM usage
- ✅ Fully local — no external connections
- ✅ Modular — pick only the music players you want
- ✅ Supports multiple players (currently via MPRIS)
- ✅ Exclusion options for players, artists, tracks, and URLs
- ✅ Optional custom Discord Client ID
- ✅ Album art support via MusicBrainz
# Installation
> **Linux only (for now).** Track Presence currently supports **MPRIS**. Support for other OSes and additional players will come in future updates.
Install with Cargo package manager:
```bash
cargo install track_presence
```
Run Track Presence:
```bash
trackpresence
```
To launch at system startup, add `trackpresence` to your autostart configuration.
# Cargo features
| `mpris` | Enables MPRIS player support | ✅ Yes |
| `musicbrainz` | Enables album art fetching via MusicBrainz | ✅ Yes |
If you don't want to connect to MusicBrainz to fetch album art, you can disable this feature accordingly:
```bash
cargo install track_presence --no-default-features --features mpris
```
But note that album art will not appear in rich presence.
# Usage
Track Presence runs entirely in the background — no GUI required.
**Optional Arguments**
- `--excluded-players` — hide certain players
- `--excluded-titles` — hide certain song titles
- `--excluded-artists` — hide certain artists
- `--excluded-urls` — hide songs from specific URLs
Example:
```bash
trackpresence --excluded-players mpv --excluded-urls "www.youtube.com,vk.com" --excluded-artists "Justin Bieber,Ironmouse"
```
Advanced users can use a custom Discord Client ID.
See all options with `trackpresence --help`.
# Future Plans
- Windows API support
- MPD player support
- MacOS support
# License
[](./LICENSE)
See [LICENSE](./LICENSE) for details.