MPRIS 2 support

Bug #618483 reported by Johannes Sasongko on 2010-08-16
This bug affects 29 people
Affects Status Importance Assigned to Milestone

Bug Description

Tracking bug for MPRIS 2 support.

MPRIS 2.0 is officially released, but there is talk about either re-releasing it or pushing a revision due to problems with the TrackList interface. We currently have no plan to implement the TrackList interface (at least not in core), so this doesn't concern us that much.

Current spec:
Mailing list:

Current plan:
1. Create a plugin implementing the non-TrackList interface.
2. If other devs agree, move the code to core and deprecate the old D-Bus interface.
3. Add features from the old iface to the mpris objects (under our own iface namespace).
4. After a while (1 year or so), remove the old iface.

There is new discussion about adding a Playlists interface (mainly for the Ubuntu panel menu thingy), which allows clients to list and activate playlists. We will put this in the same category as the Tracklist interface, i.e. won't be in core but may be in a plugin. There's also some ambiguity in our case, because we have "playlists (tabs)" and "playlists (saved/dynamic playlists)"; I suppose it's ok to expose both.

description: updated
Mantas Mikulėnas (grawity) wrote :

A basic MPRIS v2 plugin is available at

A more complete version is available at (should be merged upstream soon)

Mantas Mikulėnas (grawity) wrote :

[...and by "upstream" I meant sunng87 – who is looking for a new maintainer, by the way. Maybe it could be picked up by Exaile developers themselves... It almost completely implements MPRIS 2.1 MediaPlayer2 and MediaPlayer2.Player interfaces except for bug #1021645.]

Mathias Brodala (mathbr) wrote :

One of the outstanding issues, according to bug #588858:

Currently I still have a problem on trayicon. According to Ubuntu SoundMenu wiki, trayicon should be disabled when soundmenu item registered. And when soundmenu activate, window_close should behavior as hide.

However, this cannot be archived by a plugin. I tried to modified the xl.gui.main.controller.trayicon at runtime, but it's very difficult to archive the full functionality. I think I need some help from upstream. The right behavior should be: click 'X' to hide window when tray icon is also disabled.

Mathias Brodala (mathbr) wrote :

Starting with r4153 our handler for the "delete-event" signal of the main window is run in the 4th emission stage. This means that you can now simply .connect() to that signal and prevent our handler from running completely by returning True. However, you need to take care of hiding the window yourself then.

TLDR: You may now achieve the desired behavior.

As for hiding the regular tray icon: the user can simply deactivate the corresponding option in the preferences. There might even be other tray icon implementations you are not aware of, so don’t bother with this.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers