After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740211 - Add support for MPRIS TrackList
Add support for MPRIS TrackList
Status: RESOLVED FIXED
Product: gnome-music
Classification: Applications
Component: general
unspecified
Other Linux
: Normal enhancement
: 3.14
Assigned To: gnome-music-maint
gnome-music-maint
Depends on:
Blocks: 729309 740212
 
 
Reported: 2014-11-16 15:02 UTC by Arnel Borja
Modified: 2014-11-18 11:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
player: Add new signal 'playlist-changed' (2.37 KB, patch)
2014-11-16 15:12 UTC, Arnel Borja
none Details | Review
mpris: Implement TrackList interface of MPRIS (7.47 KB, patch)
2014-11-16 15:13 UTC, Arnel Borja
none Details | Review

Description Arnel Borja 2014-11-16 15:02:09 UTC
The specification is here:
http://specifications.freedesktop.org/mpris-spec/latest/Track_List_Interface.html

GetTracksMetadata and GoTo methods are fully supported. AddTrack and RemoveTrack are not supported since we use Tracker and can't add and remove tracks. CanEditTracks is always 'False' because of the same reason.

TrackAdded and TrackRemoved are not used because the data needed in TrackRemoved is unavailable immediately after the row in the GtkTreeModel is deleted (iter is not available in “row-deleted” signal). Instead, each add and remove emits TrackListReplaced. This is acceptable behavior according to TrackListReplaced's documentation: "It is left up to the implementation to decide when a change to the track list is invasive enough that this signal should be emitted instead of a series of TrackAdded and TrackRemoved signals."

TrackMetadataChanged is not used since the views reload when metadata changes and we can't easily track them. Music doesn't have a tags editor anyway.

Note that I have tested this manually because the GNOME Shell extension that I use for MPRIS doesn't support MPRIS TrackList. I've checked the behavior of Rhythmbox and VLC Media Player for comparison.
Comment 1 Arnel Borja 2014-11-16 15:12:02 UTC
Created attachment 290791 [details] [review]
player: Add new signal 'playlist-changed'
Comment 2 Arnel Borja 2014-11-16 15:13:34 UTC
Created attachment 290792 [details] [review]
mpris: Implement TrackList interface of MPRIS
Comment 3 Arnel Borja 2014-11-16 15:27:49 UTC
Correction: Compared with VLC Media Player for TrackList and Rhythmbox for Playlists interface. VLC Media Player do not implement Playlists while Rhythmbox do not implement TrackList.