MPRIS Metadata

From XMMS2

Jump to: navigation, search

Contents

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

Personal tools