MPRIS Metadata
From XMMS2
MPRIS v2.0 metadata guidelines
It is recommended that xesam metadata fields (prefixed by "xesam:") are used wherever possible. This allows for natural extension of the specification in a standard way.
There are also a few MPRIS-specific fields that are intended for interaction with other methods in the specification. These are prefixed with "mpris:".
Any metadata fields that are not part of a xesam ontology or defined in this document should be prefixed with a different tag, such as "totem:" or "kde:".
Types
List of Strings
Note that some types that you might expect to be strings are, in fact, "lists of strings". These should be sent using the "as" D-Bus type (array of string).
Date/Time
Date/time fields should be sent as strings in ISO 8601 extended format. If the timezone is known (eg: for xesam:lastPlayed), the internet profile format of ISO 8601, as specified in RFC 3339, should be used.
For example: "2007-04-29T13:56+01:00" for 29th April 2007, four minutes to 2pm, in a time zone 1 hour ahead of UTC.
URI
URIs should be sent as strings, and should be suitably encoded.
Fields
MPRIS-specific
mpris:trackid
D-Bus path: A unique identity for this track within the context of an MPRIS object (eg: tracklist).
mpris:length
64-bit integer: The duration of the track in microseconds.
mpris:artUrl
URI: The location of an image representing the track or album.
Common Xesam properties
Common audio properties from the Xesam specification:
xesam:album
String: The album name.
xesam:albumArtist
List of Strings: The album artist(s).
xesam:artist
List of Strings: The track artist(s).
xesam:asText
String: The track lyrics.
xesam:audioBPM
Integer: The speed of the music, in beats per minute.
xesam:autoRating
Float: An automatically-generated rating, based on things such as how often it has been played.
[FIXME: what scale? 0.0 to 1.0?]
xesam:comment
List of Strings: A (list of) freeform comment(s).
xesam:composer
List of Strings: The composer(s) of the track.
xesam:contentCreated
Date/Time: When the track was created. Usually only the year component will be useful.
xesam:discNumber
Integer: The disc number on the album that this track is from.
xesam:firstUsed
Date/Time: When the track was first played.
xesam:genre
List of Strings: The genre(s) of the track.
xesam:lastUsed
Date/Time: When the track was last played.
xesam:lyricist
List of Strings: The lyricist(s) of the track.
xesam:title
String: The track title.
xesam:trackNumber
Integer: The track number on the album disc.
xesam:url
URI: The URL of the file. Local files use the file:// schema.
xesam:useCount
Integer: The number of times the track has been played.
xesam:userRating
Float: A user-specified rating.
[FIXME: what scale? 0.0 to 1.0?]
MPRIS v1.0 Metadata guidelines
Below is a proposed, minimal list of standard field names with a description of intended use. No single or group of field names is mandatory. These recommendations are intended for implementations of the MPRIS v1.0
Informational
"location"
(string) Url to the media (local files are represented as a file:// url)
"title"
(string) Name
"artist"
(string) Name of artist or band performing the work
"album"
(string) Name of compilation the work is part of
"tracknumber"
(string) The position if it's part of a larger set, it may have to be converted to an integer. This MAY be extended with a "/" character and a numeric string containing the total number of elements in the set. E.g. "69/1337".
"time"
(uint32) The duration in seconds
"mtime"
(uint32) The duration in milliseconds
"genre"
(string) The genre. This MAY begin with a numerical value reflecting the genre in a previously known array of genres, such as ID3 genres. See http://www.linuxselfhelp.com/HOWTO/MP3-HOWTO-13.html#ss13.3
"comment"
(string) A comment about the work
"rating"
(uint32) A "taste" rate value, out of 5. 0-5 or 1-5?
"year"
(uint32) The year when the performing was realized, i.e. 2007.
"date"
(uint32) When the performing was realized, for precise needs. It is represented as epoch, i.e. the number of seconds since « 00:00:00 1970-01-01 UTC »
"arturl"
(string) An URI to an image associated with the work
Informational for external services
"asin"
(string) Amazon Standard Identification Number
"puid fingerprint"
(string) MusicDNS audio fingerprint id http://wiki.musicbrainz.org/PUID
"mb track id"
(string) The relative URI as defined in http://wiki.musicbrainz.org/TrackID
"mb artist id"
(string)
"mb artist sort name"
(string) http://wiki.musicbrainz.org/ArtistName
"mb album id"
(string)
"mb release date"
(string)
"mb album artist"
(string)
"mb album artist id"
(string)
"mb album artist sort name"
(string)
Technical
"audio-bitrate"
(uint32) The number of bits per second for audio track
"audio-samplerate"
(uint32) The number of samples per second for audio track
"video-bitrate"
(uint32) The number of bits per second for video track

