On Mon, 31 Oct 2022 at 13:36, Yoni Rabkin <[email protected]> wrote: > "Fran Burstall (Gmail)" <[email protected]> writes: > > > On Mon, 31 Oct 2022 at 12:05, Yoni Rabkin <[email protected]> wrote: > > > >> > >> Björn Bidar via <[email protected]> writes: > >> > >> > The emms manual mentions emms-dbus, where can I find that? > >> > >> That is just a reference to some code from someone's Emms config, and > >> not any official package. > >> > >> > It would be really useful to have some kind of mpris integration > >> > in emms. > >> > >> Shouldn't be too hard to implement in an Emacs with dbus. > >> > > > > In fact, I have an implementation of mpris for emms that I was thinking > > about contributing to emms. > > > > I hesitated because: > > > > 1. I thought it was an itch that only I wanted to scratch > > 2. It is not a complete implementation of the mpris2 spec. You can use > it > > to play/pause/stop/next/previous/seek over mpris but not (for various > > reasons) change things like LoopStatus/Shuffle/Volume. > > > > If you want it despite these limitations, let me know and I will push it > to > > the git repo. > > Please do, that would be great. > > Björn, would you be willing to test Fran's implementation once it is in > the repo? > > -- > "Cut your own wood and it will warm you twice" >
I have pushed emms-mpris.el to a new branch called mpris in the repo. >From the commentary: ;;; Commentary: ;; This package provides a dbus interface to EMMS. ;; Usage: ;; (require 'emms-mpris) ;; (emms-mpris-enable) ;; Switch off with ;; (emms-mpris-disable) ;; Caveats: this is not quite a complete implementation of the ;; org.mpris.MediaPlayer2 and org.mpris.MediaPlayer2.Player interfaces ;; (see ;; https://specifications.freedesktop.org/mpris-spec/latest/index.html). ;; What is missing: ;; - Volume: this should be easy but there seems to be no way to get a ;; simple percentage to report the volume---every emms-volume ;; controller returns a string in a different format, sigh. ;; - Shuffle ;; - LoopStatus ;; The issue with the last two is how to allow them to be set both ;; over dbus and via lisp/emms-ui. I do not know how to do this in a ;; simple way. I am very open to help in improving this! ---Fran
