v0.12.0: mpDris2 is now mpd2mpris
✨ What's new
This release renames the project from mpDris2 to mpd2mpris. After the asyncio + dbus-fast rewrite this fork no longer shares code with the original mpDris2, so, in agreement with its maintainer, it gets its own name to avoid confusion and give users and distributions a clear choice. It's a drop-in replacement for the old mpdris2 package (same project, new name), not something you run alongside the original: both expose MPD under the same MPRIS bus name, so only one can own it at a time. No feature changes, same MPRIS 2 D-Bus bridge for MPD, powering the odio streamer (b0bbywan/odios).
The MPRIS bus name
org.mpris.MediaPlayer2.mpdis unchanged.playerctl, media keys and desktop applets keep working exactly as before, nothing to reconfigure on the client side.
Install:
curl -fsSL https://apt.odio.love/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/odio.gpg
echo "deb [signed-by=/usr/share/keyrings/odio.gpg] https://apt.odio.love stable main" \
| sudo tee /etc/apt/sources.list.d/odio.list
sudo apt update
sudo apt install mpd2mprisEnable (D-Bus activated, default):
The shipped systemd user unit is Type=dbus with a matching D-Bus service file, so mpd2mpris auto-starts on the first MPRIS call (playerctl, a media key, a desktop applet, …). No manual enable required.
Enable eagerly (optional, run before any client asks):
systemctl --user enable --now mpd2mpris.service🔁 Renamed
- Package (APT + PyPI):
mpdris2→mpd2mpris. - Executable:
mpDris2→mpd2mpris. - systemd user unit:
mpDris2.service→mpd2mpris.service. - Config dir:
~/.config/mpDris2/→~/.config/mpd2mpris/(and/etc/mpDris2/→/etc/mpd2mpris/). - Repository:
b0bbywan/mpDris2→b0bbywan/mpd2mpris(old URLs redirect). - Unchanged: the MPRIS bus name
org.mpris.MediaPlayer2.mpdand the D-Bus service file.
⬆️ Upgrading from mpdris2
- The
.debdeclaresConflicts/Replaces/Provides: mpdris2, soapt upgradeswaps the old package for the new one cleanly: the oldmpdris2is removed automatically, no manual step. - Config is picked up automatically: the new
~/.config/mpd2mpris/mpd2mpris.confand/etc/mpd2mpris/...paths win, with the legacy~/.config/mpDris2/...and/etc/mpDris2/...paths kept as a fallback, so existing configs keep working untouched. Rename them at your leisure. - If you had enabled the old unit (
systemctl --user enable mpDris2.service), stop it before installing mpd2mpris:systemctl --user stop mpDris2.servicethen after installsystemctl --user daemon-reload && systemctl --user enable --now mpd2mpris.service.
⚙️ Configuration
- INI config at
~/.config/mpd2mpris/mpd2mpris.conf, falling back to/etc/mpd2mpris/mpd2mpris.confthen the legacympDris2paths. Example template shipped at/usr/share/doc/mpd2mpris/mpd2mpris.conf. - Sections unchanged:
[Connection](host,port,password),[Library](music_dir,cover_regex),[Cover](sources,stream_sources,mympd_uri),[Bling](cdprev). - CLI overrides config:
-H/--host,-p/--port,--music-dir,--config,--use-journal,--no-reconnect,-v/--verbose.
🧹 Packaging
pyproject.tomlnow uses the SPDXlicense = "GPL-3.0-or-later"string (+license-files), dropping the deprecated table form. Build requiressetuptools>=77.- Dropped
Suggests: python3-systemd, vestigial from the original mpDris2. The asyncio rewrite never imports the systemd module (--use-journalonly strips the timestamp prefix from the log format).
🙏 Thanks
- @eonpatapon and the original mpDris2 authors for the amicable rename agreement.
Full changelog: v0.11.1...v0.12.0