Hacker News new | past | comments | ask | show | jobs | submit login

It really is an incredible resource, and Picard is a wonderful app. Very satisfying getting a library properly tagged! Takes a while, but totally worth it. Shoutout to ListenBrainz as well, their scrobbling service: https://listenbrainz.org/



If linux people are interested in using listenbrainz and can't find a player with plugin for it (usually media players ignore it in favour of last.fm) I developed a generic scrobbler daemon that works well with it (also with libre.fm and last.fm): https://github.com/mariusor/mpris-scrobbler#authenticate-to-...


MPRIS is an under-appreciated standard and a great example of how different technologies on the open desktop should integrate with one another.

For example, there's <https://github.com/altdesktop/playerctl>, which can control any MPRIS-compatible client: VLC, web browsers, different music players, mpd (with a plugin), etc.

MPRIS can also be used to e.g. allow controlling playback without unlocking the screen - the screen locker itself doesn't need elaborate support, something as simple as slock could be hacked to recognise a key combo and call out to playerctl; more fancy login managers/lockers could talk DBUS/MPRIS directly and even e.g. display album artwork.

Unfortunately, the standard doesn't seem to specify a simple way to indicate whether video is being played back, which could be a saner way to inform the screen locker; the actual protocol to directly inhibit locking is unfortunately a little bit insane.

Read the spec, there's probably some interesting ideas to explore: https://specifications.freedesktop.org/mpris-spec/latest/


Funny you mentioned playerctl. Due to the fact that over time its scope expanded from a simple MPRIS based control application, into a full blown library with various unneeded (by me) features. Therefore as a starting point for the scrobbler daemon I wrote the simpler mpris-ctl: https://github.com/mariusor/mpris-ctl, which does just the control and meta-data output parts that playerctl has, and only depends on libdbus.

And concerning your last point, are you advising someone that built at least one MPRIS tool to read the spec? :P


> And concerning your last point, are you advising someone that built at least one MPRIS tool to read the spec? :P

The whole comment was for the general HN audience who might not be aware of MPRIS.

The general problem I keep seeing is silos; we've had the XDG standards/specs for decades, yet keep reinventing new, stupid, and broken ways to do things. Under X11 it was normal that every window got a border; under Wayland, GNOME doesn't want to adopt a protocol where a window can ask the compositor to paint a basic border, instead tells SDL to link against libadwaita. XScreenSaver has been telling apps to do "while sleep 60; do xscreensaver-command --deactivate; done" which worked well enough for decades; to "modernise" that, we have a DBus protocol which makes an app grab a cookie, and if it fails to return it (e.g. because it crashed) - the screensaver remains inhibited forever. Trying to use (or improve upon) a FOSS desktop is death by a thousand papercuts.

Thank you for your work.


Thank you for the clarification, sorry for the snark. :D




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: