[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emmms dbus or mpris integration

From: Fran Burstall (Gmail)
Subject: Re: Emmms dbus or mpris integration
Date: Mon, 31 Oct 2022 23:01:53 +0000

On Mon, 31 Oct 2022 at 13:36, Yoni Rabkin <yoni@rabkins.net> wrote:
"Fran Burstall (Gmail)" <fran.burstall@gmail.com> writes:

> On Mon, 31 Oct 2022 at 12:05, Yoni Rabkin <yoni@rabkins.net> wrote:
>> Björn Bidar via <emms-help@gnu.org> 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!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]